{"id":331250,"date":"2026-07-02T20:09:01","date_gmt":"2026-07-02T20:09:01","guid":{"rendered":"https:\/\/en-gb.wordpress.org\/plugins\/json-sync-guard-for-acf\/"},"modified":"2026-07-02T20:08:31","modified_gmt":"2026-07-02T20:08:31","slug":"fieldlock-sync-guard-for-acf","status":"publish","type":"plugin","link":"https:\/\/pap-cw.wordpress.org\/plugins\/fieldlock-sync-guard-for-acf\/","author":20102637,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.0","requires":"7.0","requires_php":"8.2","requires_plugins":null,"header_name":"FieldLock Sync Guard for ACF","header_author":"Shane Muirhead","header_description":"Prevents ACF field groups from being edited while Local JSON changes are waiting to be synced.","assets_banners_color":"4d527f","last_updated":"2026-07-02 20:08:31","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":34,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"shanemuir","date":"2026-07-02 20:08:31"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3594467,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3594467,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3594467,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3594467,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[2211,2217,249083,269922,1558],"plugin_category":[59],"plugin_contributors":[269923],"plugin_business_model":[],"class_list":["post-331250","plugin","type-plugin","status-publish","hentry","plugin_tags-acf","plugin_tags-advanced-custom-fields","plugin_tags-field-groups","plugin_tags-local-json","plugin_tags-sync","plugin_category-utilities-and-tools","plugin_contributors-shanemuir","plugin_committers-shanemuir"],"banners":{"banner":"https:\/\/ps.w.org\/fieldlock-sync-guard-for-acf\/assets\/banner-772x250.png?rev=3594467","banner_2x":"https:\/\/ps.w.org\/fieldlock-sync-guard-for-acf\/assets\/banner-1544x500.png?rev=3594467","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/fieldlock-sync-guard-for-acf\/assets\/icon-128x128.png?rev=3594467","icon_2x":"https:\/\/ps.w.org\/fieldlock-sync-guard-for-acf\/assets\/icon-256x256.png?rev=3594467","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>FieldLock Sync Guard for ACF detects ACF field-group JSON files that do not yet exist in the WordPress database or have a newer modified timestamp. While a sync is pending, it:<\/p>\n\n<ul>\n<li>Shows an administrator notice with a link to ACF's sync screen.<\/li>\n<li>Disables the Update button on ACF field-group edit screens.<\/li>\n<li>Blocks normal field-group saves on the server.<\/li>\n<\/ul>\n\n<p>Private Local JSON files are ignored. Detection is cached briefly and runs only in the WordPress administrator. The plugin works with ACF and ACF PRO, and does not include ACF.<\/p>\n\n<p>FieldLock Sync Guard for ACF is an independent compatibility plugin and is not affiliated with, endorsed by, or sponsored by the owners of ACF or ACF PRO.<\/p>\n\n<p>The plugin makes no remote requests, collects no telemetry, and contains no upsells.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin directory to <code>\/wp-content\/plugins\/<\/code>, or install the plugin ZIP through Plugins &gt; Add New.<\/li>\n<li>Activate ACF or ACF PRO.<\/li>\n<li>Activate FieldLock Sync Guard for ACF.<\/li>\n<li>When a warning appears, follow its link and sync the pending field groups in ACF.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"what%20counts%20as%20a%20pending%20sync%3F\"><h3>What counts as a pending sync?<\/h3><\/dt>\n<dd><p>A non-private <code>group_<\/code> Local JSON item is pending when its key does not exist as an <code>acf-field-group<\/code> post in the database, or when its <code>modified<\/code> timestamp is newer than the database post's modified timestamp.<\/p><\/dd>\n<dt id=\"can%20lock%20behaviour%20be%20customized%3F\"><h3>Can lock behaviour be customized?<\/h3><\/dt>\n<dd><p>Yes. Developers can use these filters:<\/p>\n\n<ul>\n<li><code>fieldlock_sync_guard_for_acf_should_lock<\/code> changes the final lock decision.<\/li>\n<li><code>fieldlock_sync_guard_for_acf_sync_url<\/code> changes the notice link.<\/li>\n<li><code>fieldlock_sync_guard_for_acf_cache_lifetime<\/code> changes the transient lifetime in seconds.<\/li>\n<li><code>fieldlock_sync_guard_for_acf_capability<\/code> changes the capability used for notices and locks.<\/li>\n<\/ul>\n\n<p>Example:<\/p>\n\n<pre><code>add_filter( 'fieldlock_sync_guard_for_acf_cache_lifetime', function () { return 30; } );\n<\/code><\/pre><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Prevents ACF field groups from being edited while Local JSON changes are waiting to be synced.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/pap-cw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/331250","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pap-cw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/pap-cw.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/pap-cw.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=331250"}],"author":[{"embeddable":true,"href":"https:\/\/pap-cw.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/shanemuir"}],"wp:attachment":[{"href":"https:\/\/pap-cw.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=331250"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/pap-cw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=331250"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/pap-cw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=331250"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/pap-cw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=331250"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/pap-cw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=331250"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/pap-cw.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=331250"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}