Plugin Directory

ThreeWP Broadcast

Network content sharing by multiposting between blogs for PHP v5.4+. Posts can be linked to each other and updated automatically.

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 https://github.com/the-plainview/threewp_broadcast/issues/28
  • 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: http://plainviewplugins.com/threewp-broadcast/documentation/post-actions/
  • 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

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

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 werk@haha.nl.

1.15 2013-02-13

  • Fix: post type settings works again.

1.14 2013-02-12

  • Fix: Taxonomies are checked recursively. Thanks to anders@webbgaraget.se.
  • 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

Requires: 3.3.1 or higher
Compatible up to: 4.1.1
Last Updated: 2015-2-19
Active Installs: 300+


4.5 out of 5 stars


7 of 23 support threads in the last two months have been resolved.

Got something to say? Need help?


Not enough data

0 people say it works.
0 people say it's broken.

50,2,1 0,1,0
100,4,4 50,2,1 50,2,1 100,3,3
88,8,7 0,1,0
0,2,0 100,1,1 100,5,5 17,12,2 0,2,0
100,1,1 0,1,0
100,1,1 0,1,0 0,2,0
100,1,1 100,1,1
0,1,0 33,3,1
50,2,1 0,1,0
100,1,1 0,1,0 50,2,1
0,1,0 100,2,2 100,2,2 100,2,2 100,1,1 0,1,0 100,1,1 67,3,2
100,1,1 100,1,1