Network Content Syndication Made Easy!

Single source content on a WordPress multisite network is now as easy as pie! Syndicate posts to other blogs in the network, update posts between blogs, sync posts, share content templates, etc. Broadcasted posts can be linked to their parents, which updates child posts when the parent post is updated. This includes all data: title, slug, content, custom fields, attachments, etc.

Broadcast, formerly ThreeWP Broadcast, is great for:

  • Chain stores
  • Franchises
  • News sites
  • Schools
  • Anything else with distributed content!

Here are some use cases for Broadcast:


  • Posts, pages, custom post types
  • Taxonomies (categories, tags, etc)
  • Custom fields
  • Attached images
  • Featured images
  • Galleries
  • Custom field blacklist, whitelist, and protect list.
  • User role access granularity
  • CDN support (nominally tested Amazon S3)
  • Many extra features in the add-on packs

SEO support

  • Canonical URLs of child posts.
  • Hreflang links (also see Hreflang add-on in the add-on packs)
  • Permalinks of child posts (also see Permalinks add-on in the add-on packs)
  • Yoast’s WordPress SEO plugin integration and support

Add-on Packs

There are several Broadcast add-on packs that expand the capabilities of Broadcast.

3rd party pack

The following add-ons add support for the plugin after which they are named.

Control pack

These add-ons give you extra control of what you broadcast and how.

  • All Blogs gives all users access to all of the blogs in the network.
  • All Blogs Superadmin allows only superadmins to broadcast to all blogs in the network without having to be a user of the blog.
  • All Images detects all referenced local images in post text fields and adds them to the broadcast.
  • Back To Parent updates the parent post with the new child content.
  • Comments adds support for broadcasting of comments.
  • Custom Field Attachments allows post custom field containing attachment IDs to be broadcasted correctly.
  • Delete Before Broadcast deletes duplicate and similar child posts on each blog before broadcasting.
  • Hreflang adds support for SEO-friendly hreflang html tags.
  • Keep Child Status keeps the status of post children to private, pending, published, draft, no matter the status of the parent.
  • Local Files automatically copies local files to each blog and updates the links in the content.
  • Local Links automatically updates links to local posts on each child blog.
  • No New Terms prevents taxonomy terms from being created on child blogs.
  • Per Blog Taxonomies allows individual control of specific taxonomies for each child post.
  • Permalinks provides more precise control of permalinks for both parents and children.
  • Protect Child Properties prevents various properties of child posts from being overwritten.
  • Redirect All Children redirects single post views from visitors of child posts to the parent post.
  • Redirect Parent redirect all views of a parent post to the first child post.
  • Search And Replace finds and replaces texts in posts during broadcast.
  • Shortcode Attachments modifies attachment IDs found in shortcodes to match their equivalent attachments on each blog.
  • Shortcode Menus modifies menu IDs found in shortcodes to match their equivalent menus on each blog.
  • Shortcode Terms automatically translates taxonomy term IDs found in shortcodes when broadcasting.
  • Update Attachments updates existing attachments by copying over the files to the child blogs.
  • Thumbnail Sizes allows for different additional thumbnail sizes on a per-blog basis.
  • User & Blog Settings (UBS) can hide the broadcast meta box and/or menu, modify the meta box to force/prevent broadcast to blogs, with separate settings for users / blogs / roles.
  • User & Blog Settings Post uses the modifications from the UBS plugin to broadcast posts with one click.

Efficiency pack

These add-ons allow you to broadcast more efficiently, saving you even more time.

  • Blog Groups 2 provides a means of groups blogs together, in order to be able to quickly select and unselect blogs from the Broadcast meta box.
  • Duplicate Attachments will duplicate the attachment and thumbnails, instead of letting WordPress regenerate them.
  • Find Some Unlinked Children can selectively link orphans / unlinked posts to parents, instead of automatically linking all found children.
  • New Blog Broadcast automatically broadcasts posts when creating a new blog.
  • Purge Children removes children and their attached files from child blogs.
  • Queue adds a broadcast queue which helps to broadcast posts to tens / hundreds / thousands of blogs.
  • Rebroadcast updates selected parent posts by using a bulk action.
  • Send To Many allows mass broadcast of several posts to blogs at once.

Utilities pack

These add-ons do things semi-related to broadcasting, but are good to have none-the-less.

  • Bulk Cloner creates clones of existing blogs on the network.
  • CDN Workaround works around faulty CDNs that do not report the correct URL for attachments.
  • Lock Post allows users to lock editing of posts / pages to only themselves and super admins.
  • Media Cleanup: cleans up unused media by looking for unused items in the database and on disk.
  • Menus copies menus between blogs (overwrite / update), with support for equivalent child posts on the child blogs and equivalent taxonomies.
  • Page Content Shortcode provides a [bc_page_content slug="pageslug"] shortcode to display the contents of a page.
  • PHP Code runs custom PHP code on selected blogs. Easily switch themes for all blogs, for example.
  • Shortcodes provides arbitrary admin-defined global or local shortcodes.
  • Sync Taxonomies synchronizes the taxonomies of target blogs with those from a source blog.
  • User Role Sync copies user roles between blogs.
  • Widgets copies widget and sidebar settings between blogs.


Although Broadcast is relatively easy to understand by itself, for extra documentation see Broadcast’s online documentation, which covers:

For developers: the code should be well-commented and easily legible for the most part. Extra developer documentation covers:


The git repository can be found at:


  • Broadcast meta box when editing posts
  • How posts and pages can be broadcasted
  • Post overview showing linked children
  • Post overview showing linked parents
  • Bulk actions that can be applied to several marked posts at once
  • Post actions for parent posts
  • Post actions for child posts
  • The Broadcast menu
  • Admin settings tab
  • Maintenance tab
  • Uninstall tab
  • Time savings tab showing how much time Broadcast has saved you


  1. Activate the plugin sitewide.


Installation Instructions
  1. Activate the plugin sitewide.
I need support!

Broadcast is supported in the forum. For users of the add-on packs, support is available via e-mail.

Debug dumps

A debug dump is the long text that is displayed when broadcasting a post with debug mode on. This dump can then be read to see what Broadcast is or isn’t doing.

To switch on debug mode, see the admin settings. If your site is live it would be wise to input your IP in the associated textarea, so that only you see the debug dump.

Blacklist, whitelisting, force broadcast

Broadcasting to specific blogs, hiding blogs and forcing blogs can be acheived with the User & Blog Settings add-on.

Bulk broadcast existing pages

To broadcast many posts at once, see the Send To Many add-on.

Galleries and attachments

How broadcast handles attachments:

  1. Attachments directly attached are stored.
  2. Attachments found in [gallery] shortcodes are stored.
  3. On the child blog, the existing attachments to the post, if any, are automatically deleted to keep attachments clean. This behavior can be configured using custom code or add-ons: Duplicate Attachments, Update Attachments.
  4. The stored attachments are copied.
  5. The thumbnail ID is replaced.
  6. The image URLs in the post content are replaced.
  7. The image IDs in [gallery] shortcodes are replaced.

Do you have a lot of attachments that you don’t want duplicated to hundreds of child blogs, in order to save space? You’ll have to find a way to refer to the images statically instead of using their media IDs. The reason for this is that when WordPress is referred to an attachment, it can only read the media IDs from the current blog. It cannot switch blogs in order to load the image.

Hide broadcast from the users

The broadcast meta box, menu and columns in the post view can be hidden from users / roles / blogs using the User & Blog Settings add-on.

Incompatible plugins

Below is a list of plugins that just will not work properly with Broadcast and / or its addons:

  • Intuitive Custom Post Order – Prevents broadcasting due to switch_to_blog() mismatch.
  • Post Type Switcher – Turns post types into attachments and vice versa.
  • Taxonomy Terms Order – prevents terms from being seen.
  • Tracking Code Manager – prevents User & Blog Settings from working by inserting data into the _POST variable during a normal page GET. Very non-standard behavior.

If you have already created posts on other blogs that are supposed to be children of a specific post, you can use the “find unlinked” bulk action to find and link them.

If the existing posts are not linked, broadcasting a post can result in duplicates.

To be considered an orphan the orphaned posts must have the exact same title (name) as the soon-to-be parent and be of the same post type.

You can also use the Delete Before Broadcast add-on to delete any similar posts on the child blog before broadcasting.

Timeout problems

If you have many attachments in your post, and are broadcasting the post to many blogs, you might encounter a PHP timeout. This means that broadcasting exceeded the PHP time limit and had to be aborted.

There are several solutions to this problem:

  1. Increase the PHP timeout in your PHP.ini settings. This will not speed up broadcasting, only increase your chances of completely broadcasting the post.
  2. Use the Duplicate Attachments add-on. This will duplicate any attachments + thumbnails instead of regenerating them on each child blog.
  3. Use the Queue add-on to put each child broadcast into a queue that is emptied by javascript.

You will not need solution #1 if you use solutions #2 and #3. 🙂

Why can I not see the Broadcast meta box?

Make sure that:

  1. The plugin is network enabled
  2. Your user level has broadcast access (Broadcast access role)
  3. Your user has write access to more than this blog (see Admin settings > Maintenenace > View blog access). You can also use the All Blogs add-on to give yourself access to all blogs.
  4. The correct post type(s) have been selected in the Broadcast settings
  5. The User & Blog Settings add-on is not set to hide the meta box from the user / role / blog

Broadcast is capable of handling simple WooCommerce products.

  1. In the Broadcast custom post type settings: Add “product”.
  2. Save the product normally first.
  3. Then broadcast, selecting the custom fields and taxonomies checkboxes.

This will broadcast all normal product settings: SKU, price, etc.

If your products have variations, a product image gallery, you want to sync stock, you want to sync orders, need the attribute taxonomies to be synced, you’ll be wanting the WooCommerce add-on.


Broadcast + Muiltisite = Awesome

We use multisite to manage an intranet site for a small bank in the UK.

Each business area has a subsite dedicated to them. However some content needs to be shared by 2 or more business areas. This is were Broadcast comes in.

Without Edward’s Broadcast plugin, we would have to spend time + effort to do what this plugin does.

I think it’s fair to say that using multisite without Broadcast is like buying a luxury sport car with a lawnmower engine.
Multisite with Broacast is like buying a luxury sports car with twin jet engines.

If you have multisite, you need Broadcast. Trust me, you Do. I’d go as far as to say, this should just come pre-installed.

The time + effort it saves you will see this plugin pay for itself over and over again.

Simply the best investment you could make in a plugin.

Also, the support is the best I’ve come across so far. (been doing this a long time)

Frankly, I’m surprised Matt @ Automattic hasn’t offered to acquire this already.

Edward has indeed set a very high bar for plugin developers out there.

This is what awesome looks like.

Don’t look further – Broadcast right here

One thing most Multisite-users will miss is the fact, that even the Multisite serves the base system for several sites, the content is split and there’s no way to change that — until you install “Broadcast”.
For a ongoing Church project, I was looking for a plugin to broadcast content to another site in the network. With broadcast this is very, very easy and thanks to several addons nearly anything is possible.

There’s also a small but good API, so you can create your own functionality and broadcast content. That’s what I used (broadcasting from a frontend page) and it works like a charm.

Edward is also very helpful when it comes to support. A short e-mail and you get super-fast and helpful answers.

Amazing Plugin and 100% great support

We have used this to a very large client and it fills all the needs we have requested! Very flexible and easy to understand. Together with the accessory package, this plugin is easily the best on the market. I can not find words of what good support you get if there is anything. Worth every penny!

Rating: Infinite stars

Simply the best plugin for multisite

By far, the best multisite plugin I’ve ever used! It’s a must get and time saver for anyone with a multisite setup. Not only is the plugin top notch, but the support from the Developer is unbelievable. Email is as quick as instant messaging, literally.

Be sure to check out the premium addons as well, some pretty good stuff happening. It’s worth the investment!

Great product and support

Great product and support from Edward with this plugin. This plugin is a huge timesaver when it comes to posting things across your multisite network and specifically for our multisite which is mainly used for learning (sensei). The 3rd Party Pack added extensions for sensei which Edward started making on our request.


Incredible service

I couldn’t believe the service Edward gave us when we started to have a problem with WP Broadcast. While I am sure the problem started when we updated some other plugins, Edward spend all of the weekend to find – and fix – the problem.
The plugin, of course, works as advertised, but it is Edward’s commitment to customer service that sold me.
Such service is very rare. In fact, I have never encountered it with any other plugin.

Read all 108 reviews

Contributors & Developers

“Broadcast” is open source software. The following people have contributed to this plugin.


“Broadcast” has been translated into 1 locale. Thank you to the translators for their contributions.

Translate “Broadcast” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.


43 20180226

42.4 20180129

  • New: Option to show all sites on a multinetwork setup, instead of defaulting to just the sites on the current network.
  • Fix: Do not broadcast non-existent posts using the API.
  • Fix: Speed up post editing when user has access to a large amount of blogs by caching the blog names. Best used in conjunction with the All-Blogs add-ons.
  • Fix: Adding Tracking Code Manager plugin to list of incompatible plugins.
  • New add-on. H5P: Adds support for the H5P Interactive Content plugin.

42.3 20180115

  • Fix: Also sync term_order setting when syncing terms.
  • Fix: Do not overwrite attachment’s _wp_attached_file property, which otherwise would prevent the attachment from being seen. Sometimes.

42.2 20171213

  • Fix: GMT dates on draft posts were being incorrectly set from 0000-00-00 (a very invalid date in itself, btw).
  • New add-on. GoodLayers: Adds support for the GoodLayers family of themes.

42.1 20171130

  • Fix fatal error for PHP v5.6 installs.

42 20171130

41 20171030

  • New: Added database maintenance tool. Currently used just for cleaning up the database a little, and will expand as need be.
  • Fix: Add extra error checking after creating / updating child posts to ensure that it was correctly updated. This should prevent rogue developer plugins from causing generous amounts of havoc and debugging time unnecessarily.
  • New add-on. Image Map Pro adds support for the Image Map Pro plugin.
  • New add-on. Sensei adds support for the Sensei plugin.
  • New add-on. Shortcodes provides arbitrary admin-defined global or local shortcodes.
  • New add-on. Unyson adds support for the Unyson page builder plugin.
  • New snippet: Post actions from the child to the parent shows how to enable deletion / trashing / untrashing of parent the post from the child post.
  • Code: The view post info check also shows child posts.
  • Code: Removed old actions for trash_page, untrash_page, delete_page.
  • Code: Added broadcasting_data()->custom_fields()->child_fields()->update_meta_json() call.
  • Code: Added broadcasting_setup action to allow for modifying the broadcasting_data object before the content preparsing.

40.1 20171004

  • Fix: Remove fatal $blogs->input() error when using just publishing posts (not broadcasting) together with an incompatible plugin.
  • New add-on. Redirect Parent redirect all views of a parent post to the first child post.
  • New add-on. WPCustom Category Image adds support for the WPCustom Category Image plugin.
  • New add-on. Widgets copies widget and sidebar settings between blogs.

40.0 20170922

  • Fix: Incorrect maintenance check URL on some server setups (misdirecting to port 80 on SSL setups).
  • Fix: If an error occurs when inserting the post on the child blog, save the error message to the debug dump.
  • New add-on. Pods adds support for the Pods – Custom Content Types and Fields plugin.

39.1 20170903

  • Fix: Unnecessary warning when more than one IP is enabled in debug mode.
  • Fix: Only show blogs from the current network, if you’re using a multinetwork plugin.
  • Fix: Fix tab URLs not working in proxied environments.
  • Fix: Add warning for incompatible Taxonomy Terms Order plugin.
  • New add-on: Attachment Control allows better control of how attachments are handled during broadcasting.

39 20170802

  • New: Taxonomy Term handling options. Similar to the custom field lists, allows taxonomy term meta to be blacklisted or protected. See Broadcast Taxonomy Term documentation page.
  • Fix: Modify the child post dates to match the GMT offset. Previously the dates were copied directly from the parent post.
  • Fix: When the link table contains dupes, prevent even more post duping by using the first available link data.
  • New add-on: Intagrate adds support for the Intagrate plugin.
  • New add-on: WPLMS adds support for Vibethemes’ WPLMS theme.
  • New add-on: Search And Replace finds and replaces texts in posts during broadcast.
  • Code: debug dumps report timestamps in GMT now. Less confusion due to the different blog timezones.

38.6 20170703

38.5 20170614

  • Fix: Broadcasted column not properly displaying linked posts for page post type.

38.4 20170605

  • Tested with WordPress v4.8
  • Fix: Show “Broadcasted” column on ALL post types that are in the custom post type settings. Action has prio 100, which should ensure the columns are shown even for those badly coded plugins that reset the visible columns.
  • New add-on: Ultimate Member: adds support for the Ultimate Member plugin.
  • New snippet: Change post status during broadcast
  • New: Added override_child_permalink action, and a snippet showing how to use the action to selectively override child permalinks.
  • Code: Added more debug info during BC, this time about the parent post broadcast data (link data).
  • Code: Cut down a little on the attachment debug info.
  • Code: Added switch_broadcast_data() method.
  • Code: Check for blog existence during each_linked_post.

38.3 20170523

38.2 20170428

  • New: Add edit link back to parent post in the broadcast meta box for child posts.
  • New: Add edit and view links for the parent post in the child post actions popup in the post overview.
  • New: Add edit and view links for the child post actions popup in the post overview.
  • New add-on: Page Content Shortcode provides a [bc_page_content slug="pageslug"] shortcode to display the contents of a page.
  • Code: Rolling back usage of $blog->switch_to and ->switch_from. This is to un-unnecessarily futureproof things.
  • Code: Add find_unlinked_posts_blogs action to give developers choice of which blogs to search for unlinked children. Also works with the Find Some Unlinked Children add-on. There’s also a code snippet showing how to use the action.

38 20170406

Finally dropped the “ThreeWP” prefix from the plugin name! The code remains the same, though, just the plugin name is changed.

  • Fix: Extra check to see whether the attachment was correctly copied. Catches a fatal error when the attachment does not return with a real filename.
  • Fix: Some attachments do not have proper filenames (mp3), so avoid clearing the filename completely. Fixes fatal errors when broadcasting those types of files.
  • Code: Make _get_post_children function public so that the Rebroadcast add-on can queue posts.

37 20170316

  • Fix: Try to replace all media thumbnail URLs in the post content, instead of just the full image size. This will fix references to image thumbnails also.
  • Fix: Plugin now uses standard WordPress translation functions so that it can now be translated online. No experience with this, but it looks to make translation really easy.
  • New add-on: All Images detects all referenced local images in post text fields and adds them to the broadcast.

The next major version of Broadcast will finally have the “ThreeWP” dropped from the name. The files on disk will still be called the same, and the action names will still have the threewp prefix. Only the visible name in the repo and plugin list will change.

The add-on pack names will also lose their prefixes.

36 20170303

  • Fix: Remove warning when trying to get file sizes of non-local attachments. Of course that will fail.
  • Fix: Non-local attachments, when being copied, retain their GUIDs instead of getting a URL based on the child blog. This is useful for retaining CDN urls on attachments.
  • Code: Added prepare_custom_fields() to broadcasting_data in order to help obey the custom field lists when broadcasting taxonomies.
  • New add-on: LearnDash: New add-on. Adds support for the LearnDash LMS plugin.
  • New add-on: WP All Import adds support for post updates from Soffly’s WP All Import Pro.

Translators! The next version of Broadcast will include the new translation __() calls used for translating the plugin online. Please contact me if you know anything about how the WordPress translation management works, so that we can iron out translation migration kinks before they become a problem.

35.9 20170216

  • New: Also sync / broadcast term taxonomy metadata. This will automatically add support for plugins that store extra data in taxonomy metadata, like venues and organisers in the Calendarize It plugin. Developers can look at the terms_and_taxonomies trait to see how it works.
  • Fix: Force setting of exactly the same post dates and modified dates on the children. This fixes the child posts sometimes being a second off. Also allows for “only if child modified” functionality in the Protect Child Properties add-on.
  • Fix: Do not allow broadcasting to the parent blog. This is something that was possible to do via the API.
  • SDK update. Removed PHPmailer class.

35.8 20170203

  • Fix: Make the unchecked post actions in the meta box work again. A previous change in 35.5 broke the delete/trash option from the select box that appears when a broadcasted post is unchecked in the meta box.

35.7 20170127

  • New: Add special check for incompatible plugins (only Post Type Switcher so far) and show an error message instead of broadcasting.
  • Fix: Check that the child blog exists before broadcasting to it. Fixes maintenance checks failing when blogs have been deleted.
  • Fix: Do extra image URL replacements in the content for all copied attachments. Requires that the images have been copied during the broadcast (attaching the image to the blog, or referring to the image in a gallery will suffice). This will take care of images that are statically referenced within shortcodes.

35.5 20170113

  • Fix: If using a bulk action on a post that is not broadcasted, do not trash / delete it.
  • New add-on: Ninja Forms adds support for the Ninja Forms plugin.

35.3 20170106

  • Fix: Warning when there is no post ID in the $_POST variable. Happens when importing posts, apparently.
  • Fix: Debug file URL.
  • New add-on: Aqua Page Builder adds support for the Aqua Page Builder plugin.
  • New add-on: Shortcode Terms. Automatically translates taxonomy term IDs found in shortcodes when broadcasting.
  • Code: Show WordPress version in system info / debug.

35.1 20161206

  • Fix: Extra check that attachments exist, for those times when posts are attached but don’t have files.
  • Fix: Ignore post type hierarchical support when checking for broadcasted parents. This fixes the fatal error when broadcasting WooCommerce Variations that, for some reason, do not support hierarchies, but still have parent posts.

35 20161206

  • Fix: Do not clear the attachment_data array in the broadcasting data. Fixes WooCommerce Swatches being ignored if there are normal attachments.
  • Code: More robust way of retrieving equivalent_posts. This fixes a bug when broadcasting ACF relations between two blogs with the same child posts as relations, instead of broadcasting a related post from the parent blog to a child.
  • Code: Warn network admins of incompatible Broadcast and BC add-on pack versions. Users should keep the MAJOR versions of both the same.
  • Code: Added support for partial broadcasts. This is used with the Queue add-on when broadcasting products with many variations which normally would timeout even the most patient of servers. See broadcasting_data->partial_broadcast().

34.5 20161111

  • Code: More upload_dir debugging info.
  • New add-on: Divi Builder. Adds support for Divi Builder and themes using it. No more getting the logo on your child sites overwritten when broadcasting!

34.3 20161027

34.2 20161006

  • Code: Handle attachments (delete, copy) before taxonomies. This prevents attachment delete+copy+delete+copy sequences when some add-ons (ACF, WooCommerce) request taxonomy attachments be copied.
  • New add-on: Local Files. Automatically copies local files to each blog and updates the links in the content.

34 20160925

  • Fix: Prevent duplicate attachments by forcing renaming of copied attachments. This fixes the long-standing problem of attachments with numbers at the end of the filenames being duplicated.

This stems from a WordPress feature / bug that removes the numbers when copying the images to each child blog. For some reason attachments inserted by PHP code, using normal WordPress functions, are not assigned the same post_names as on the parent blog, which prevents Broadcast from finding the attachments when updating the post. This will cause Broadcast to recopy the attachment, creating a dupe.

  • Code: Added broadcasting_data->copied_attachments_to_blog code, together with ThreeWP_Broadcast->copy_attachments_to_blog().
  • The “ThreeWP” part of the plugin name will be dropped in the future.

33.1 20160913

Minor release. Upgrade not mandatory.

  • Code: Initialize broadcasting_data->attachment_data array in the class.
  • Code: Display even more debug info when updating / inserting the child post.

33 20160817

  • Fix: Find Unlinked Children finds children with the same status. So a draft will find unlinked drafts. To find different child statuses, just change the status of the parent post before finding.
  • Fix: Stricter handling of attachment paths. This fixes Amazon S3 file paths being incorrectly detected as local files by PHP.
  • Code: Added collect_post_type_taxonomies action to help plugins sync extra taxonomy data, like ACF images and what not.
  • Code: save_post() method returns the broadcasting_data object if anything was broadcasted.
  • New add-on: Contact Form 7. Adds support for Takayuki Miyoshi’s Contact Form 7 plugin.
  • New add-on: Yoast SEO. Adds support for the Yoast SEO plugin. Only needed if you want taxonomy SEO data synced when broadcasting.
  • 4.6.0 compatibility.

32.3 20160722

  • Fix: Check for existence of get_plugin_data() function before broadcasting. Fixes HTTP processing with Queue add-on. Quite an unexpected and illogical bug.

32.2 20160719

  • Fix: A workaround for an existing Yoast SEO workaround. Fixing the first Yoast problem prevented Woocommerce variations from being broadcasted properly. Applies only to users of Yoast + Woocommerce variations.
  • New add-on: Shortcode Attachments modifies attachment IDs found in shortcodes to match their equivalent attachments on each blog.
  • New add-on: Shortcode Menus modifies menu IDs found in shortcodes to match their equivalent menus on each blog.
  • More debug code, showing the active plugins.
  • SDK update.

32.1 20160718

  • Code: raw_html_section. Allow lazy conversion of meta box inputs. Fixed compatibility with v32 of Per Blog Taxonomies.

32 20160715

  • Code: Added broadcasting_data->high_priority property to prevent certain plugins, like the Queue, from broadcasting posts in several steps. All API broadcasts are now set to high_priority.
  • New add-on: Toolset merged the old Types and Views add-ons with new support for CRED post and user forms.

31 20160705

  • Fix: Yet another workaround for Yoast SEO, version 3.3.2 this time.
  • New add-on: Calendarize It adds support for Calendarize It! events.
  • New add-on: Events Manager adds support for the Events Manager plugin.
  • Code: post_action action will now affect child posts also. See traits/post_actions. This is for unlinking The Events Calendar recurring events.

30 20160606

  • Debug: Even more debugging info in the debug dumps.
  • Code: New preparse_content action which allows plugins that support the action to prepare themselves for modifying post content in different places, not only in the post content.
  • Code: broadcast_data->get_linked_post_on_this_blog() checks for both a parent or a child post on this blog and returns the ID.
  • Code: Added threewp_broadcast_allowed_post_statuses filter.
  • New: Plugin Pack Plugin: Tao Schedule Update adds support for Tao Schedule Update plugin.
  • New: Plugin Pack Plugin: Types adds support for broadcasting child post types created by OnTheGoSystems’ Toolset Types plugin.

29.1 20160418

  • New: Broadcast Data maintenance check also checks for the same post types.
  • New: Broadcast Data maintenance check also checks for unnecessarily linked child posts in the broadcast data of child posts.
  • New: Plugin Pack Plugin: Download Monitor adds support for downloads and shortcodes from Never5’s Download Monitor plugin.
  • Fix: Allow add-on packs to update on servers with weird SSL libraries, using the BROADCAST_PP_SSL_WORKAROUND define.
  • Fix: Allow broadcasted drafts to be rescheduled / continue to be scheduled.
  • Code: During broadcasting, fetch the new post after updating it.

29 20160405

  • New: Plugin Pack Plugin: Hreflang adds support for SEO-friendly hreflang html tags.
  • New: View Post Info maintenance check. Helps debugging by showing all information about posts and the associated postmeta.
  • Code: New parse_content action to ask Broadcast to do content parsing (replacing of attachment IDs and guids, etc). Used by the newest version of the ACF add-on.

28.3 20160309

  • New: Add-on pack plugin: Post Expirator adds support for Aaron Axelsen’s Post Expirator plugin.
  • New: Add-on pack plugin: Rebroadcast updates selected parent posts by using a bulk action.
  • Fix: Non-admins can see the simple Broadcast info again upon visiting the Broadcast menu item.
  • Fix: Escape blog names to allow for angled brackets in blog names.
  • Fix: Check for parent linkage as the post parent on child blogs.
  • Fix: Prevent duplicate site url in guid in subdirectory installs.
  • Code: broadcasting_data object now has $parent_broadcast_data.

28 20160118

  • Fix: Always run database table creation code upon activation.
  • New Add-on pack plugin: EventOn – Adds support for Ashan Jay’s EventON plugin with tickets.

27.2 20151215


  • Tested with WP 4.4

27 20151124

  • Fix: Simplified thumbnail copying code, for those with thumbnails on CDNs.
  • Fix: Savings calculator was calculating wage per minute, not per hour.
  • The overwrite existing attachment is now described as “Delete and then recopy the attachment” instead of “Overwrite the attachment”.
  • New Add-on pack plugin: Avia Layout Builder – Run the hidden Avia Layout Builder content through the Attachment Shortcode Broadcast plugin.
  • New Add-on pack plugin: Update Attachments – Update existing attachments by copying over the files to the child blogs.
  • New Add-on pack plugin: CDN Workaround – Work around faulty CDNs that do not report the correct URL for attachments.
  • New Add-on pack plugin: PHP Code – Run custom PHP code on selected blogs. Easily switch themes for all blogs, for example.
  • Code: Removed “find unlinked child” post action since it makes no sense.
  • Code: Added get_existing_attachment_actions and apply_existing_attachment_action actions.
  • Code: Removed unused upload_dir from attachment_data::from_attachment_id().
  • Code: Taxonomies are dumped upon debug.

26 20151102

  • Fix: Try to get post sticky status via _POST variables and via function, in case one is broadcasting via API and the POST sticky status isn’t available.
  • New: Time savings tab. Keep track of how much time and money you’ve saved by using Broadcast.
  • New Add-on pack plugin: Thumbnail Sizes allows for different additional thumbnail sizes on a per-blog basis.
  • New Add-on pack plugin: bbPress adds support for BBPress forums, topics and replies.
  • Premium pack has been split up. Each add-on pack can be purchased individually (and cheaper, of course).

25 20151024

  • Blog Groups: This is the last time this obsolete plugin will be released. If you wish to use it in the future, copy it to another plugin directory and activate it from there. The replacement is the Blog Groups 2 plugin in the add-on pack.
  • Fix: Prevent duplicates when referring to parent posts on the child blog. See
  • Fix: Attachments in child posts were getting the wrong guid. See 2 year old bug that is still open.
  • Code: custom_fields()->child_fields() now method chain.
  • Code: get_post_types action has two new conveience methods: add_type and add_types.
  • New Add-on pack plugin: Sync Taxonomies now allows for recording taxonomy changes and then replaying them on other blogs, simplifying mass-editing of terms.

24 20151009

  • New: Allow children to be unlinked / trashed / deleted from the meta box.
  • New Add-on pack plugin: FooGallery – Adds support for FooPlugins’ FooGallery plugin.
  • New Add-on pack plugin: Geodirectory – Adds support for Geodirectory places.
  • Code: broadcasting_data fatal error – now checks to see it custom_fields is an object before cloning it.

23.5 20150921

  • New: Attachment (image) descriptions are now copied to children.
  • New: CDN support. Preliminarily tested with Amazon S3. If you have other CDNs, please test and e-mail.
  • New Add-on pack plugin: GEO my WordPress – Adds support for Eyal Fitoussi’s GEO my WordPress geolocation plugin.
  • Version bump for WP 4.3.1

23.4 20150901

  • Fix: Clone the custom fields object when copying broadcasting_data. This fixes a problem with WooCommerce variations not being correctly updated.

23.3 20150826

  • Fix: save_post workaround for WordPress bug See nop(). See “save_post decoys” setting in the misc Broadcast settings.
    This should fix The Events Calendar not broadcasting non-events as it should.

23.2 20150824

  • New: Show blog and post names (and link to them) in the broadcast data maintenance results.
  • Version bump for WP 4.3

23.1 20150818

  • Fix: Correctly sync taxonomies when the term IDs are identical on both blogs.
  • Fix: API should honor the broadcast_post filter.
  • Code: Moved from github to bitbucket:
  • Code: broadcasting_data()->custom_fields()->update_meta() method added.

23 20150803

  • Code: New actions for delete_post_broadcast_data, get_post_broadcast_data and set_post_broadcast_date. Fix for “Back to Parent” plugin.
  • Code: broadcasting_data->equivalent_taxonomy_term_id() is obsolete. Use broadcasting_data->terms()->get() instead.
  • Code: broadcasting_data->post_custom_fields is obsolete. Use iterable broadcasting_data->custom_fields() instead. Or custom_fields->original if you must.
  • Code: broadcasting_data->copied_attachments() has new add() method.
  • Code: broadcasting_data->new_post_old_custom_fields is obsolete. Use ->custom_fields->child_fields().
  • New Add-on pack plugin: Global Content Blocks – Adds support for shortcodes from WP Xpert’s Global Content Blocks plugin.
  • New Add-on pack plugin: Metaslider – Adds support for Metaslider shortcodes.

22 20150721

  • New: post delete, trash and restore hooks are now always monitored, instead of just during the display of the posts table. This should allow other plugins to modify posts (perhaps expiring posts?) without unsynchronizing the link info.
  • UI: Admin settings are now the Broadcast menu item itself.
  • UI: Settings are now displayed in different tabs. Custom post settings are now part of normal settings.
  • UI: Broadcast menu item is not shown at all to users who may not use broadcast.
  • UI: Link checkbox is now always checked per default. If checked, it only has an effect if blogs are selected, else it just remains checked without interfering with anything.
  • Code: Merge magnific popup js and css into main files.
  • Code: Popup uses jQuery objects for the title and the content ($popup.$title and $popup.$content). set_html is renamed to set_content. You can now append jQuery objects directly to the content. Premium pack javascript updated to use same.
  • Code: broadcasting_data->add_attachment() method added to conveniently add attachments.
  • New Add-on pack plugin: New Blog Broadcast – Automatically broadcast posts when creating a new blog.
  • New Add-on pack plugin: TablePress – Adds support for broadcasting TablePress shortcodes.

21 20150705

  • New: Broadcast now hooks into the network admin menu.
  • Fix: Attachments that are also the featured image will no longer be deleted. This fixes broken links to the two images, which are actually the same.
  • Fix: Copied attachments are given the names from the original attachment. See
  • Fix: Display the blog domain in the meta box if the blog name is empty.
  • Code: API release. See src/api.php
  • Code: threewp_broadcast_get_user_writable_blogs, threewp_broadcast_maybe_clear_post hook priority changed from 11 to 100.
  • Code: threewp_broadcast_get_post_types, threewp_broadcast_menu, threewp_broadcast_prepare_meta_box, threewp_broadcast_wp_insert_term, threewp_broadcast_wp_update_term, threewp_broadcast_manage_posts_custom_column priority change from 9 to 5.
  • Code: New attachment_data/copied_attachments helper.
  • Code: broadcasting_data->broadcast_to() can now take a simple blog ID integer.
  • Code: broadcasting_data handles more setup itself, instead of relying on others.
  • Code: broadcasting_data now defaults to true for custom fields, linking and taxonomies.

20 20150609

  • New: Custom field handling has been simplified. The “broadcast internal field” setting has been removed and the blacklist, whitelist and protect list now apply to all fields.

The custom field settings can now handle wildcards.

If you do not wish the internal custom fields (the ones that start with an underscore) to be broadcasted, check that you now have _* in the blacklist.

Custom fields are now handled in this order: first check the blacklist, if blacklisted checked the whitelist.

The protect list is applied to the surviving custom fields specified to be protected.

  • Fix: Reload broadcast data upon switching blogs during broadcasting. This is probably the cause of half-linked children when broadcasting is interrupted or queued.
  • Fix: Posts can have several thousand child posts now. The database column was set too small (text instead of longtext) to allow for all too many child links.
  • Code: More debug info. Custom field lists are dumped.
  • Code: Fix saving of broadcast data so that it can be resaved during the same broadcast.
  • Code: Debug dump now shows HTML tags.
  • Updated .pot file for translations.

19.1 20150524

  • Fix: Find Unlinked Children will not add children that already have parents or are parents themselves.

19 20150519

  • Code: New action: each_linked_post, used to modify all linked posts via a PHP callback.
  • Code: new_post_old_custom_fields in broadcasting_data object.
  • Code: broadcasting_data->new_post is now a post object. Retrieve using ->new_post() method. Retrieve keys using ->new_post( ‘ID’ ).
  • Bump WordPress version to 4.2.2
  • New Add-on pack plugins: Delete Before Broadcast, Protect Child Properties.
  • New Add-on pack extras: All Blogs cache clear, WooCommerce stock sync, Woocommerce PDF voucher sync

18.1 20150424

  • Fix: Network admin can do anything network admin wants.
  • Bump WordPress version to 4.2

18 20150412

  • New: Multiple roles can now be selected. Check that your role settings are correct after upgrading.
  • Serbian translation. Credit Borisa Djuraskovic at
  • Fix: Recreate child posts that have been deleted but not unlinked. This is a workaround for a rare condition.
  • Fix: Broadcast data can be looked up up via blog+post ID, in addition to the row in the database. See the maintenance tab.
  • Fix: Do not show archived, deleted and spammed blogs in the meta box.
  • Fix: Better temp-directory handling when running maintenance checks.
  • Fix: Workaround for Yoast SEO data not being saved.
  • Fix: Removed mysqli warnings when creating UBS modifications and queue objects.
  • Code: Equivalent terms are saved during term syncing.
  • Premium Pack Plugin: Added “Blog Groups 2”.
  • Premium Pack Plugin: Added “Protect Child Author”.

17.1 20150219

  • Fix: No more warning when there are no terms in a taxonomy.

17 20150216

  • Code: broadcasting_data now supplies new_child_created property.
  • Fix: Load translation javascript strings earlier. Credit Tobias.
  • Fix: Added JS check for unreferenced broadcast_blogs_to_hide variable.
  • Fix: Corrected Exception class in terms_and_taxonomies trait.
  • Fix: Javascript error on clicking child’s “broadcasted by” link (for unlinking popup). Credit jaapbaardaap. See
  • Fix: No taxonomy terms on the parent will clear the taxonomy on the child also.
  • Premium Pack Plugin: Added “Social Networks Auto Poster” forces SNAP to use the unique social settings on each blog
  • Premium Pack Plugin: Added “Find Some Unlinked Children” selectively find unlinked children to link.
  • Premium Pack Plugin: User & Blog Settings: Able to hide post bulk actions from users.

16 20150116

  • Fix: Fixed autoloading error for specific web hosts.
  • Fix: Form actions were incorrect for some non-standard installations, causing forms to timeout.
  • Optimization: Term syncing only syncs terms that are used. This should solve any out-of-memory errors that those with 39000+ terms were having.
  • Premium Pack Plugin: Added “Duplicate Attachments” drastically speeds up broadcasting when using attachments. Also retains any manual modifications to the attachment thumbnails.
  • Premium Pack Plugin: Comments: Can now keep comments automatically synced between linked posts.
  • Premium Pack Plugin: User & Blog Settings: “On” for checkboxes no longer forces the checkbox to be ticked.
  • Premium Pack Plugin: User & Blog Settings: Automatically clean up orphaned criteria.
  • Premium Pack Plugin: User & Blog Settings: More robust detection of post types.

15 20141218

  • Code: Allow other plugins to prevent term creation.
  • New: Premium Pack Plugin: No New Terms
  • Fixed: Sticky status kept when clearing the POST.
  • Fixed: Bulk actions not appearing for some users

14 20141210

  • Fix: Display bulk actions in a different way to increase compatability with Admin Columns Pro.
  • Fix: Override canonical URL for pages also.
  • New: Premium Pack Plugin: Lock Post

13 20141201

  • Fix: Blog groups: Group name can be changed again.
  • Debug: Custom fields are shown in the debug dump.
  • New: Premium Pack Plugin: Polylang
  • POT file and Swedish translation updated.
  • Code: Source moved from include/ to src/.
  • Code: Uses Plainview SDK with custom namespace for future-proofing and conflict avoidance.

12 20141109

  • New: Post actions have been reworked. Documented here:
  • New: “Find orphans” is now “Find unlinked children” and is a bulk action.
  • New: Setting to choose how many children to view in the post overview, before displaying a child count.
  • Fix: Last used settings notice removed.
  • Code: _3wp_broadcast table for last used settings has been removed.
  • New: Premium Pack Plugin: The Events Calendar

11 20141021

  • Fix: Fatal error when broadcasting attachments.

10 20141020

  • New: Premium Pack Plugin: Menus
  • Code: Major refactoring. ThreeWP_Broadcast() function introduced to easily retrieve the Broadcast instance.
  • Code: threewp_broadcast_get_user_writable_blogs is now an action.
  • Code: Actions now use the standard Plainview WordPress SDK actions as the base class.

9 20141017

  • Fix JS error: blogs_to_hide empty value.
  • Fix: last_used_settings warning.
  • Fix: Settings being forgotten sometimes.
  • Fix: Maintenance not working sometimes due to non-standard temp directory.

8 20141013

  • New: Premium Pack Plugin: Protect Child Status
  • Fix: Better duplicate image finding.
  • Code: broadcasting_after_switch_to_blog action has $broadcast_here property. Allows skipping blogs.
  • Code: Last used settings are now stored in the user’s meta table, instead of a separate database table. The table will be removed in v9 or v10.
  • Code: Better attachment validity checking.

7 20140923

  • Fix: Massive optimization of taxonomy syncing.
  • New: “Same Parent” check for broadcast data maintenance check. If two posts on a blog say they have the same parent.
  • Fix: Hang upon broadcasting galleries.
  • Fix: Not setting child post taxonomies sometimes.
  • Fix: Code to prevent broadcast looping (using the ACF plugin).
  • Fix: Copy attachments with metadata that don’t have filenames (ex: m4a files).

6 20140909

  • Code: broadcast_data class replaces BroadcastData.
  • New: Premium Pack Plugin: Back To Parent
  • Version 4.0 compataiblity (version bump).
  • Obsolete and broken WPML plugin removed. See discussion here:

5 20140830

  • Hide information from non-network admins.
  • Fix: Warning messages on lines ~2000
  • Fix: Unnecessary warning for empty blog groups.
  • Fix: Unlink all works again.
  • Code: Better post modification detection (line 2553).
  • Change: Internal fields are now broadcasted per default on NEW installations.

4 20140814

  • Fix: More robust duplicate attachment finding.
  • Fix: Do a post type check before broadcasting.
  • Fix: Check for invalid thumbnails before broadcasting.
  • New: Premium Pack Plugin: All In One Calendar
  • New: Premium Pack Plugin: Protect Child Content
  • New: Premium Pack Plugin: Redirect All Children
  • New: Premium Pack Plugin: User & Blog Settings Post

3 20140708

  • New: Blog groups: after selecting a blog group the value will no longer change back to “no group selected”.
  • New: Blog groups: select “no group selected” and the same blog group again to unselect the blogs from the group.
  • Fix: Featured post conflicts resolved. See 3+1 fixes below.
  • Fix: Do not automatically delete the thumbnail (it might not be attached to this post).
  • Fix: Removed attachment cache.
  • Fix: Only attach copy image to post if it was attached to the parent post.
  • New: New related premium pack plugin: Keep Child Attachments.
  • Code: Meta Box has two new methods to allow for input modifications before display: convert_form_input_later() and convert_form_inputs_now().
  • Note: Changed versioning to rapid release. No more point releases.

2.24 20140615

  • New: Custom field protect list.
  • Fix: Better support for Windows servers.

2.23 20140520

  • New: Premium Pack Plugin: Comments
  • Code: broadcasting_data->new_post()

2.22 20140511

  • Fix: Attachment metadata was not copied sometimes.
  • New: Broadcast file checksum info, for debugging purposes.
  • Code: Even more debug info.
  • Code: code_export removed. Debug methods are now a trait in the SDK.

2.21 20140422

  • New: Custom roles are accepted.
  • New: Broadcast Data check checks that the table has the ID column.
  • New: Premium Pack plugin: Purge Children.
  • Fix: Fatal error when syncing taxonomies. Sometimes.

2.20 20140412

  • New: Premium Pack plugins: Custom Field Attachments, Sync Taxonomies.
  • More debug information when syncing taxonomies.
  • Code: collect_post_type_taxonomies for Sync Taxonomies plugin.
  • Code: wp_insert_term and wp_update_term hooks, for Sync Taxonomies plugin.

2.19 20140402

  • New: Clear POST setting.
  • Fix: More tolerant custom field detection for incorrectly set up custom post types.
  • Fix: Italian translation updated.
  • Fix: Attachment checking uses “name” instead of “post_name” to search for attachments. Less memory required.
  • Code: More debugging code.

2.18 20130314

  • New: Premium Pack plugins: Attachment Shortcodes and Event Organiser.
  • New: Debugging can be limited to specific IP addresses.
  • Fix: Better gallery shortcode detection.
  • Fix: Incorrect debug string during attachment handling.
  • Fix: Blog Groups and WPML plugins have version numbers again in order to be upgradeable.
  • Code: Even more debugging information available.
  • Code: Added find_shortcodes method.

2.17 20140226

  • New: Debug setting and information when broadcasting.
  • Fix: Taxonomy names are now synced.
  • Fix: Attachment captions fixed.
  • Fix: Groups ignores non-existing blogs.
  • Code: Added broadcasting_modify_post action.
  • Code: Added get_post_types action.

2.16 20140211

  • New: Attachment conflict handling.
  • Fix: Do not do anything about save_post if $_POST[ ‘broadcast’ ] is not set.
  • Fix: WPML plugin clears the WPML cache when posting.

2.15 20140123

  • Fix: Menu order is now also broadcasted.

2.14 20140117

  • New: Canonical URL detects and disables the canonical link from Yoast’s WordPress SEO plugin.
  • Fix: Better compatability with User Blog Settings and Keep Child Settings plugins.
  • Fix: Better support for Microsoft IIS.
  • Removed obsolescence message – all of the features are needed by at least one person.


Skipping version 13.

2.12 20140112

  • New: Maintenance: View Blog Access check added.
  • New: All Blogs plugin is now available in the premium pack.
  • Code: get_user_writable_blogs filter moved to priority 11.
  • Code: $_POST is now emptied, not removed.
  • WPML plugin will be obsoleted soon. A more functional premium plugin will be available.

2.11 20131218

  • New: WordPress v3.8 support.
  • New: Custom post types tab shows the available post types on the current blog.
  • New: Per Blog Taxonomies plugin is now available in the premium pack.
  • New: Permalinks plugin is now available in the premium pack.
  • Fix: Nested broadcasting changes blogs to parent blog.
  • Fix: Scripts and CSS get version numbers.

2.10 20131121

  • New: Duplicate broadcast data check in maintenance.
  • New: WooCommerce plugin is now available in the premium pack.
  • Fix: Loading of CSS and JS from non-standard path.
  • Fix: Check that the thumbnail is an image before setting it.
  • Code: No more global broadcasting_data property.
  • Code: broadcasting_data can be used as call stack.

2.9 20131113

  • New: Add “blogs to hide” setting.
  • New: Keep Child Status plugin is now available in the premium pack.
  • Fix: Blog names are unescaped. No more weird HTML characters in the blog list.
  • Code: broadcast array is no longer removed from the $_POST, due to copy by reference on some versions of PHP 5.4.

2.8 20131109

  • New: Attachments are attributed to the original author, instead of the person doing the broadcasting.
  • New: Database maintenace admin tab. Experimental. Make a backup first. Has help text.
  • Code: Broadcast data table has unique row numbers.

2.7 20131101

  • New: All-links in post overview.
  • New: Linked posts can be deleted, trashed, restored and unlinked.
  • Fix: Settings are ajaxified again.
  • Fix: Group selection works again.
  • Fix: No more warnings when using empty custom field blacklist / whitelists.
  • Advanced Custom Fields plugin is now available in the premium pack.

2.6 20131028

  • Fix: Broadcasted featured image is attached to post if necessary.
  • Fix: List of attachments when broadcasting is not allowed to be cached anymore.
  • Fix: Neverending loop fixed when “parent permalinks” is checked.
  • Code: prepare_broadcasting_data is now an action.
  • Code: last_used_settings copied into meta_box_data.
  • Code: broadcasting_data->new_post is newly created for each child blog.

2.5 20131024

  • Fix: No more fatal errors when editing child posts.
  • Fix: Finding orphans works again.

2.4 20131018

  • Fix: Selected blogs are shown after selecting a group.
  • Fix: Better JS and CSS loading for subdirectory installs.
  • Fix: Allow editing of slugs when overriding child permalinks.
  • Fix: Child deletion link doesn’t delete twice.
  • New: Support to hide broadcast box, menu, columns. See User & Blog Settings plugin.

2.3 20131011

  • New: Caching of BroadcastData speeds up the post overview.
  • Fix: More than one blog group is visible.
  • Code: prepare_meta_box action added. added_meta_box action removed.

2.2 20131007

  • New: Custom field exceptions are now separated into a blacklist and a whitelist.

2.1 20131007

  • Fix: Don’t display broadcast meta box if no access, only access to 1 blog.

2.0 20131006

  • Removed: Unecessary role to create taxonomies, which are now automatically created and synced.
  • Removed: Blacklisted blogs – replaced with per-blog per-user functionality in Premium pack.
  • Removed: Required blogs – replaced with per-blog per-user functionality in Premium pack.
  • Fix: Category broadcast bug
  • Code: Large rewrites. New actions and filters.
  • Code: Minified css.
  • Code: Modernized user.js.
  • Code: $plugin_version now matches the actual version.

1.32 20131003

  • Fix: Broadcasting of featured images, attachments and galleries works much better.

1.31 20130929

  • Fix: Taxonomies are sometimes missed if uncategorized is used.

1.30 20130927

  • Fix: Fixed bug that sometimes skipped some blogs, at random, when broadcasting.

1.29 20130926

  • Users are requested to check their post type and custom field exception settings after upgrading.
  • Fix: Converted array settings to strings, which fixes the foreach() error on line 1544.
  • Fix: Posts can be trashed from the parent post overview.

1.28 20130924

  • Fix: Category matching uses more fuzzy searching. Fixes WP_Error on line 1850.

1.27 20130923

  • New: Override child post permalinks works with custom post types.
  • New: Permalink cache when overriding child permalinks. Speeds up looking up the same post during a page view.
  • WPML plugin version bump.

1.26 20130915

  • Fix: Featured image broadcast works again.
  • WPML plugin version bump.

1.25 20130905

  • Code: Fixed Broadcast column in posts view.

1.24 20130904

  • Code: Fixed typo.

1.23 20130903

  • Fix: Image broadcasting works again.
  • Fix: Gallery shortcodes are updated.

1.22 20130813

  • Fix: Unlinking works. Again.
  • Code: Removed network_admin_menu code.

1.21 2013-08-12

  • New: WPML support plugin added.
  • Fix: Moved Broadcast settings to the blog’s general settings.
  • Fix: Unlinking works again.
  • Fix: Add PHP v5.4 version check.
  • Code: Added broacast_post() method.
  • Code: Added actions.
  • Code: Added broadcasting actions.
  • Code: More documentation for Broadcasting_Data object, together with refactoring of save_post cost.

1.20 2013-06-02

  • Fix: Attachments should be properly broadcast now.
  • Code: Added Broadcasting_Data.php.
  • Code: Added $threewp_broadcast->broadcasting_data when broadcasting.
  • Code: Most methods have been made public.
  • Code: Refactoring and cleanup.
  • Code: Tabs, SDK update.
  • Still requires PHP v5.4. Ask your web host to update.

1.19 2013-05-01

  • Fix: Trying to add a taxonomy term that already exists at the target blog. Thanks:
  • Fix: Using new wp_trash_post hook when deleting [child] posts. Thanks:
  • Code: Using plainview_sdk. Requires php v5.4 (because of traits).

1.18 2013-02-22

  • New: Option to disable overriding of canonical URLs. Used if other plugins also manipulate the url in the HTML head.
  • New: Private posts can be broadcast.
  • Fix: Broadcasting of attachments works better. Galleries are also broadcasted (due to editing of the gallery shortcodes).

1.17 2013-02-15

  • New: Children have their canonical links pointed to the parent.

1.16 2013-02-14

  • Fix: Titles and menu order of attached images are also broadcasted. Thanks to

1.15 2013-02-13

  • Fix: post type settings works again.

1.14 2013-02-12

  • Fix: Taxonomies are checked recursively. Thanks to
  • Fix: Arrow in broadcast box fixed

1.13 2013-01-05

  • Fix: Compatability with WP 3.5 (roles work again).

1.12 2012-08-27

  • Overridden child permalinks use the nice permalink instead of /?p=123
  • Romanian translation from Alexander Ovsov
  • Added extra Activity Monitor details, from patch from Flyn.

1.11 2012-02-11

  • Fixed non-broadcasting bug. sigh

1.10 2012-02-20

  • Italian added.
  • Fixed double-posting bug when using required lists.

1.9 2012-02-18

  • Bug fixed: post_link only receives one parameter.
  • Bug fixed: double-posting when using an empty required list.
  • Rebroadcast of old images now works (thanks Ross Hawkes).
  • Broadcast menu moved to profile menu (for the sake of contributors).
  • Better support for contributor roles.
  • Better finding of orphan posts.

1.8 2012-02-10

  • Old broadcasted images are properly deleted from child blogs.
  • Settings can now be saved again. Sigh.

1.7 2012-02-08

  • Featured Images work again.

1.6 2012-02-05

  • Find orphans
  • Bugs fixed that prevented proper broadcasting

1.5 2012-02-04

  • Custom post and custom taxonomy support
  • Multiple custom field values with the same key can be broadcasted
  • Will not try to attach files that were deleted from disk
  • Broadcasted images retain their ALT, TITLE and caption.
  • New link icon
  • New base php
  • Better linking to child posts
  • Post meta fields are maybe unserialized
  • Fixed Activity Monitor support


  • Works with WP 3.1
  • Added a shrink / expand control in the broadcast meta box


  • Category syncing works with unparented categories.
  • Activity Monitor activities have types.
  • $threewp_broadcast->is_broadcasting() is now available.
  • Now even more links can be overrided.


  • Custom field exceptions added
  • Priority can now be 10 characters
  • Category broadcast role is back again. 🙂


  • Settings are kept when activating the plugin.
  • Child posts are given link info.
  • Child post permalinks can be overriden.
  • Last used settings are remembered.
  • Broadcasted children cannot be rebroadcasted.
  • Page templates are broadcasted.
  • Broadcasted categories are synchronized with the children.
  • Broadcasted custom fields aren’t duplicated anymore.
  • Sticky status is broadcasted.
  • Page parents are kept. The parent page must be broadcasted first.
  • Drafts and future posts can also be broadcasted.


  • Galleries are now broadcastable.


  • Custom fields can be broadcast.
  • Attached images can be broadcast.
  • Broadcasted posts are now linked to the parent post.
  • Pages can be broadcast.


  • Dutch translation added, courtesy of Johan Daems.
  • Superadmins have access to all blogs, even though they don’t.


  • WP3 compatability


  • Initial public release