This plugin allows you to transfer content from your GatherContent projects into your WordPress site and vice-versa.
This plugin is no longer supported and will not receive any updates. Please consider using the Content Workflow by Bynder plugin which is a drop in replacement.
Installing our WordPress plugin on your site allows you to quickly perform updates of your content from your GatherContent account to WordPress as well as push your WordPress content updates back to GatherContent. Content can be imported as new pages/posts or custom post types, and you can also import your WordPress content back to new GatherContent items.
The plugin allows you to map each field in your GatherContent Templates with WordPress fields. This is accomplished by creating a Template Mapping, which allows you to map each field in GatherContent to various fields in WordPress; title, body content, custom fields, tags, categories, Yoast fields, advanced custom fields, featured images … and many more.
The module currently supports the following features:
- Import content from GatherContent
- Export content to GatherContent
- Update content in Wordpress from GatherContent
- Update content from Wordpress to GatherContent
For additional developer documentation, please review the wiki.
GatherContent is an online platform for pulling together, editing, and reviewing website content with your clients and colleagues. It's a reliable alternative to emailing around Word documents and pasting content into your CMS. This plugin replaces that process of copying and pasting content and allows you to bulk import structured content, and then continue to update it in WordPress with a few clicks.
Connecting a powerful content production platform, to a powerful content publishing platform.
This section describes how to install the plugin and get it working.
- Upload
gathercontent-import
to the/wp-content/plugins/
directory - Activate the GatherContent plugin through the 'Plugins' menu in WordPress
- Click on the menu item "GatherContent"
- Link your accounts. You will need to enter your GatherContent account URL (e.g. https://mywebsite.gathercontent.com) and your personal GatherContent API key. You can find your API key in your Settings area within GatherContent.
For more detailed installation instructions please visit our Help Centre.
If you need help, Please visit our support documentation.
Also note, in your WordPress dashboard, under the GatherContent menu item, you will see a Support page. On this page, you'll find a large textarea filled with technical information about your server, browser, plugin, etc. This information is very useful when debugging, and the GatherContent support team may ask you for it at some point.
Below the text box is a button that will allow you to simply save all of that information to a .txt file. This allows you to easily deliver it to anyone who needs it.
However, this information contains potentially senstive data. Please be careful with where you post it. Do not post it in the WordPress support forums.
- Updating the stable release
- Adding in a workflow to upgrade to the new plugin
- Marking this plugin as no longer supported
- Bumping version due to GitHub actions failing to deploy
- Removed references to deprecated WPSEO_Social_Admin class
- Fixed bug where Taxonomy terms from checkboxes were not importing correctly
- Fixed bug where fields imported to the WordPress Title were incorrectly encoding special characters
- Bumped select2 library from 4.0.13 to 4.0.3
- Updated
spl_autoload_register
to be PHP8 compatible
- Reformatting version file
- Updated the readme.txt to include testing up to WordPress 6.1
- Update to support multiple workflows
- Fixed issue where content and status updates were not pushing to GatherContent from the plugin
- Reformat readme.txt
- Updated the readme.txt to include testing up to WordPress 6.0
- Fixed the missing status colors on the template mapping screen.
- Added support for Bynder images, which do not include an extension in their filenames by default.
- Importing files from attachment fields in GatherContent, will now be done using the result of the content endpoint for the item, and will no longer call the files endpoint.
- Pulling will no longer happen using wp_remote_post as it was causing issues with local environments and firewalls, where leaving the server and re-calling it via the host wasn't possible.
- Fixed issue where GatherContent to WordPress mapping was not taking effect
- Bump version
- Fixed issue for PHP8 and Yoast SEO compatibility
- Updated readme.txt stable tag version and changelog
- Update change log and readme, forgotten during previous tag
- Fixed syntax error, causing issue during install
- Resolve build process dependency error.
- Add ability to edit Alt Text on media
- Update dependencies
- Support Components and Repeatable fields
- Fix yoast integration
- Fix auth_enabled() returning true for empty vars
- Remove importing hierarchy
- Fix for post date not updating
- Allow user to disconnect post from GatherContent Item
- Update to use authenticated file downloads
- Fix push to GatherContent for new and old editor
- Fix the 3rd param passed to
Pull::sanitize_post_field()
, which needs to be the entire post data array. - Updated the help centre links.
- Fixed quoted attributes (like alt text) for the pseudo-shortcodes used for media in the GatherContent content, e.g.
[media-1 align=right linkto=file alt="This will go to the image alt tag"]
- Allow using new shortcode syntax (like
[media_2-1]
) to include media from multiple media fields in GatherContent mapped to the content or excerpt. The original syntax will continue to work (e.g.[media-1]
), but will be assumed to be the first media field, and will be the same as using the new syntax,[media_1-1]
.
- If mapping does not map a field to the
post_title
, be sure to update title from the GC item name. - Fix bug with item updated dates not being properly formatted in some languages.
- Add WPML compatibility shim for properly mapping GatherContent taxonomy terms to translated language taxonomy terms where applicable, and vice-versa. Note: If the GC item uses the foreign language term name, then this will need to be unhooked. This can be done via:
if ( class_exists( 'GatherContent\\Importer\\General' ) ) {
$general = GatherContent\Importer\General::get_instance();
$wpml_compat = isset( $general->compatibility_wml ) ? $general->compatibility_wml : null;
remove_filter( 'gc_new_wp_post_data', array( $wpml_compat, 'maybe_transform_meta_for_wpml' ), 10, 2 );
remove_filter( 'gc_update_wp_post_data', array( $wpml_compat, 'maybe_transform_meta_for_wpml' ), 10, 2 );
remove_filter( 'gc_config_taxonomy_field_value_updated', array( $wpml_compat, 'maybe_update_taxonomy_item_value_from_wpml' ), 10, 4 );
}
- Update
\GatherContent\Importer\get_post_by_item_id()
to remove any WPMLWP_Query
filters so the mapped post is properly located. - Remove
.misc-pub-post-status
class from GC metabod, as it was adding a redundant pin icon. - Set user-agent when making GatherContent API calls.
- Update to enable the Yoast SEO focus keyword again (a Yoast SEO plugin update changed the field type).
- Add ACF compatibility shim for transforming ACF checkbox values to/from GatherContent checkbox values.
- Two new filters,
gc_config_pre_meta_field_value_updated
andgc_config_meta_field_value_updated
.
- Fix issue where syncing multiple items would not work (only syncing the first). Caused by nested wp-async tasks causing the action name name to be modified and the hooked callbacks not to be called.
- Fixed "Attempt to modify property of non-object" notice.
- Fix bug where some taxonomy terms were not being set (caused by changes made for #27).
- Allow side-loading non-image files/media from GatherContent.
- Added ability log the async requests in debug mode.
- Removed duplicated abstract method. Fixes "Can't inherit abstract function" error which may occur on some servers.
- Do not require logged-in cookies for wp-async requests (which performa push/pull operations). Fixes #27.
- Fix improperly cast object property for php 7 compatibility.
- Update the error message to indicate user may not have proper permission in GatherContent to view GatherContent Templates/Projects.
- Add "class" and "alt" to whitelisted shortcode attributes for the GatherContent
[media]
shortcode. - Add the
wp_get_attachment_image()
attributes array to thegc_content_image
filter. - Add
gc_admin_enqueue_style
andgc_admin_enqueue_script
actions. - Fix issue when BadgeOS is installed. BadgeOS is enqueueing its (old) version of select2 in the entire admin. It is incompatible with the new version, so we need to remove it on our pages.
- Check multiple server variable keys to detect if HTTP authentication is enabled on the site. (https://wordpress.org/support/topic/import-hangs-at-1/)
- Fix occasional bug when "Do not import" being selected could cause issues when pushing content back to GatherContent.
- Improved percentage accuracy, and loader animations with the import/sync process.
- Specific to the "1%" sync error, Now detects if site has HTTP authentication enabled, and provides settings fields for storing authentication credentials. (Plugin sync processes will not work if they are not provided)
- Improved stability when importing a very large number of items.
- Update to complement the 3.0.0.8 release to make sure that the minimum 1.8.3 version of underscore is loaded early so that it works when SCRIPT_DEBUG is disabled.
- Fix bug where GatherContent admin column and metabox would not display for a mapped post-type occasionally (if the mapping was imported, or when it is first created).
- Fix bug where post-types with
'exclude_from_search' => true
would not be properly connected. - Add filter,
gathercontent_mapping_post_types
, for ability to filter allowed post-types for mapping. - Add GatherContent plugin settings link to inline action links on plugin page.
- Now supports mapping GatherContent hierarchy to WordPress hierarchy for hierarchical post-types (like pages). Default behavior can be overridden with the
gc_map_hierarchy
filter. - Adds a constant to enable developer debug mode (
GATHERCONTENT_DEBUG_MODE
). - Give GatherContent selectors IDs and classes which do not conflict with WordPress core UI.
- Add a
gc_pull_complete
andgc_push_complete
hook which is triggered after all items are asynchronously synced. - Update support instructions on the Support page.
- Fix a few php notices when failing to fetch a project or template from the GatherContent API.
- Adds a support page to the GatherContent menu for gathering system information for support requests.
- Adds a developer debug mode for advanced developer debugging.
- Fix typos in a few i18n functions, from
_()
to__()
. - Fix possible debug notices when options array is empty.
- Fix bug where a custom taxonomy could be saved in a template mapping but would appear to reset or not be saved.
- Re-register underscore.js script on our admin pages when on older WordPress versions (with older bundled underscore script).
- Fix issue with sideloading images. Proper handling for
WP_Error
. - Fix "Undefined property" notice.
- Fix conflicts/errors which occur on installations using PHP 5.3.
- Fix conflict with other plugins (notably WooCommerce) using the same script handle for select2, causing conflicts/errors.
- Allow file fields to be mapped to custom fields. Will store an array of WordPress attachment ids, or a single attachment id if the file field from GatherContent only contains a single file.
- Fix issue on PHP 5.4 with using shortand array syntax.
- Fix bug when creating a new mapping and trying to map GatherContent statuses before saving the mapping.
- Fix bug where WordPress pointer script/css was not properly enqueued in some instances.
- Complete rewrite. Plugin no longer uses the legacy API, and allows mapping templates, and then importing/exporting items via the mapped templates.
- Update plugin to use Items instead of Pages
- Better integration with yoast and ACF pro. Map to author. Added post format option
- Remove inline comments from text content
- Fix bug for multi site installs
- Add support for custom tabs feature within GatherContent
- Import hierarchy from GatherContent. Added publish state dropdown to
- Integrated a few updates from github and fixed coding standard to match WordPress coding standards
- Changed how the plugin stores page data to allow a larger amount of pages with larger content
- Updated GatherContent API requests to match current API version and minor UI updates for WP 3.8
- Added check to makesure cURL is enabled
- Reworked pages importing to work via ajax. Should fix problems importing too many fields (
max_input_vars
)
- Added repeatable field mapping
- Fixed a bug where tag strings weren't being separated by commas
- Added an alert when pages have no fields to import
- Fixed line break issues
- Fixed errors that were only displaying in WP_DEBUG mode
- Complete rewrite of old plugin