External Content Sync Importer
Update WordPress posts through external DB and populate ACF fields, keeps posts updated daily through CRON
by Danny Portal · github.com/dannyportal/wp-external-post-acf-importupdate
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/dannyportal/wp-external-post-acf-importupdate/archive/refs/heads/main.zipExternal Content Sync Importer (WordPress)
This plugin pulls records from a remote source and creates/updates WordPress posts on a schedule, including ACF fields, so your site stays current without manual edits. It’s built to be reusable for any “directory-style” content (profiles, locations, partners, listings, etc.).
What you need
- WordPress site (admin access)
- ACF installed and active
- A Custom Post Type you want to populate (example:
entity) - A remote endpoint that returns a list of records (your API / feed)
Install
- Upload the plugin folder to:
wp-content/plugins/external-content-sync-importer/ - Activate it in WP Admin → Plugins.
Create your content type (CPT)
Create (or confirm you already have) a post type that will hold the imported records.
Example slug: entity
You can use any slug you want, but you’ll need to set it in the plugin settings.
Create ACF fields
Create an ACF Field Group assigned to your target post type and add, at minimum:
- external_id (Text)
This is the unique ID from the remote source. It prevents duplicates and allows updates to target the right post.
Optional but common:
- logo_url (URL or Text)
- any other fields you want the importer to maintain
Configure the plugin
Go to: WP Admin → Settings → External Content Sync Importer
Set:
- Remote Endpoint URL
The URL your plugin will fetch records from. - Target Post Type Slug
The CPT slug you created (example:entity). - Logo Base URL (optional)
Use this if your source provides logo “paths” instead of full URLs. - Debug Logging (optional)
Turn on while testing, then turn off.
Save.
Run it and verify
After activation + configuration:
- The plugin will sync on its scheduled run (daily by default).
- Go to WP Admin → your CPT list (ex: Entities) and confirm posts were created.
- Open one post and confirm:
- Title/content updated
- ACF fields (like
external_id,logo_url) populated
If you don’t see posts after the first run, enable debug logging and check your WP debug log.
Make it reliable (production best practice)
WordPress “cron” can be traffic-based. For consistent scheduling:
- Use a real server cron to trigger WP-Cron, or
- Use your host’s scheduled task runner if available
This prevents missed runs on low-traffic sites.