{"id":103636,"date":"2019-05-07T04:31:09","date_gmt":"2019-05-07T04:31:09","guid":{"rendered":"https:\/\/fr.wordpress.org\/plugins\/acf-options-for-polylang\/"},"modified":"2026-03-04T10:12:06","modified_gmt":"2026-03-04T10:12:06","slug":"acf-options-for-polylang","status":"publish","type":"plugin","link":"https:\/\/roh.wordpress.org\/plugins\/acf-options-for-polylang\/","author":161212,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"2.0.0","stable_tag":"2.0.0","tested":"6.9.4","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"ACF Options for Polylang","header_author":"Be API","header_description":"Add ACF options page support for Polylang.","assets_banners_color":"f8f8f8","last_updated":"2026-03-04 10:12:06","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/www.paypal.me\/BeAPI","header_plugin_uri":"https:\/\/github.com\/BeAPI\/acf-options-for-polylang","header_author_uri":"https:\/\/beapi.fr","rating":4.4,"author_block_rating":0,"active_installs":10000,"downloads":212672,"num_ratings":17,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.1":{"tag":"1.0.1","author":"momo360modena","date":"2019-05-07 04:30:34"},"1.0.2":{"tag":"1.0.2","author":"momo360modena","date":"2019-05-20 12:43:29"},"1.1.0":{"tag":"1.1.0","author":"momo360modena","date":"2019-05-20 12:43:29"},"1.1.1":{"tag":"1.1.1","author":"momo360modena","date":"2019-05-20 12:43:29"},"1.1.10":{"tag":"1.1.10","author":"momo360modena","date":"2021-09-01 16:26:34"},"1.1.11":{"tag":"1.1.11","author":"momo360modena","date":"2023-08-09 10:04:42"},"1.1.2":{"tag":"1.1.2","author":"momo360modena","date":"2019-05-20 12:43:29"},"1.1.3":{"tag":"1.1.3","author":"momo360modena","date":"2019-05-20 12:43:29"},"1.1.4":{"tag":"1.1.4","author":"momo360modena","date":"2019-05-20 12:43:29"},"1.1.5":{"tag":"1.1.5","author":"momo360modena","date":"2019-05-20 12:43:29"},"1.1.6":{"tag":"1.1.6","author":"momo360modena","date":"2019-05-20 12:43:29"},"1.1.7":{"tag":"1.1.7","author":"momo360modena","date":"2019-05-20 12:43:29"},"1.1.8":{"tag":"1.1.8","author":"momo360modena","date":"2021-03-27 08:15:32"},"1.1.9":{"tag":"1.1.9","author":"momo360modena","date":"2021-09-01 11:57:21"},"2.0.0":{"tag":"2.0.0","author":"beapi","date":"2026-03-04 10:12:06"}},"upgrade_notice":{"2.0.0":"<p>Breaking: requires PHP 7.4+ and WordPress 6.0+. See Changelog for full details.<\/p>"},"ratings":{"1":2,"2":1,"3":0,"4":0,"5":14},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":2504391,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":2504391,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":2504391,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.png":{"filename":"banner-772x250.png","revision":2504391,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.1","1.0.2","1.1.0","1.1.1","1.1.10","1.1.11","1.1.2","1.1.3","1.1.4","1.1.5","1.1.6","1.1.7","1.1.8","1.1.9","2.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.jpg":{"filename":"screenshot-1.jpg","revision":3474412,"resolution":"1","location":"assets","locale":""}},"screenshots":{"1":"Use the Polylang language switcher in the admin bar to choose the language before editing ACF options."},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[2211,5019,2218,22028,10601],"plugin_category":[59],"plugin_contributors":[77914,152685,77912,77915],"plugin_business_model":[],"class_list":["post-103636","plugin","type-plugin","status-publish","hentry","plugin_tags-acf","plugin_tags-option","plugin_tags-options","plugin_tags-options-page","plugin_tags-polylang","plugin_category-utilities-and-tools","plugin_contributors-beapi","plugin_contributors-maximeculea","plugin_contributors-momo360modena","plugin_contributors-nicolaskulka","plugin_committers-beapi","plugin_committers-momo360modena","plugin_committers-rahe","plugin_support_reps-momo360modena"],"banners":{"banner":"https:\/\/ps.w.org\/acf-options-for-polylang\/assets\/banner-772x250.png?rev=2504391","banner_2x":"https:\/\/ps.w.org\/acf-options-for-polylang\/assets\/banner-1544x500.png?rev=2504391","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/acf-options-for-polylang\/assets\/icon-128x128.png?rev=2504391","icon_2x":"https:\/\/ps.w.org\/acf-options-for-polylang\/assets\/icon-256x256.png?rev=2504391","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/acf-options-for-polylang\/assets\/screenshot-1.jpg?rev=3474412","caption":"Use the Polylang language switcher in the admin bar to choose the language before editing ACF options."}],"raw_content":"<!--section=description-->\n<p>Are you using Advanced Custom Fields for option pages and Polylang for your multilingual site?<\/p>\n\n<p>Polylang does not natively support ACF Option Pages, so option values are shared across all languages. This plugin improves that: once activated, you can set different values per language. Values are stored per language in the database and the correct one is loaded according to the current Polylang language. If a value isn't set for a language, the \"All languages\" value is used by default.<\/p>\n\n<p><strong>Note:<\/strong> On activation, existing option values become temporarily unavailable (but remain in the database); you can recover them by deactivating the plugin. To edit options for a language, use the Polylang language switcher in the admin bar before opening the options page.<\/p>\n\n<p>Requirements: WordPress 6.0+, PHP 7.4\u20138.4, <a href=\"https:\/\/www.advancedcustomfields.com\/pro\">Advanced Custom Fields<\/a> 5.6.0+, <a href=\"https:\/\/polylang.pro\/\">Polylang<\/a> (tested up to 3.7.7).<\/p>\n\n<p>For full documentation (usage, filters, API, excluding pages, default fallback, loading untranslated values), see the <a href=\"https:\/\/github.com\/BeAPI\/acf-options-for-polylang#readme\">project README on GitHub<\/a>.<\/p>\n\n<!--section=installation-->\n<p>Activate and configure Polylang, then activate ACF Options For Polylang.<\/p>\n\n<h4>WordPress<\/h4>\n\n<ul>\n<li>Install via the built-in plugin installer, then activate in the \"Plugins\" screen.<\/li>\n<li>Or place the <code>acf-options-for-polylang<\/code> folder in <code>wp-content\/mu-plugins<\/code>.<\/li>\n<\/ul>\n\n<h4>Composer<\/h4>\n\n<ul>\n<li><code>composer require wpackagist-plugin\/acf-options-for-polylang<\/code><\/li>\n<\/ul>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20to%20change%20my%20theme%20code%20to%20use%20this%20plugin%3F\"><h3>Do I need to change my theme code to use this plugin?<\/h3><\/dt>\n<dd><p>No. Use ACF's get_field() and the_field() as before with the options page ID (e.g. 'options'). The plugin handles language automatically.<\/p><\/dd>\n<dt id=\"what%20happens%20to%20my%20existing%20option%20values%20when%20i%20activate%20the%20plugin%3F\"><h3>What happens to my existing option values when I activate the plugin?<\/h3><\/dt>\n<dd><p>They become temporarily unavailable but remain in the database. You can recover them by deactivating the plugin. After activation, set or copy your values per language using the Polylang language switcher in the admin bar.<\/p><\/dd>\n<dt id=\"where%20is%20the%20full%20documentation%20%28filters%2C%20api%2C%20excluding%20pages%29%3F\"><h3>Where is the full documentation (filters, API, excluding pages)?<\/h3><\/dt>\n<dd><p>See the <a href=\"https:\/\/github.com\/BeAPI\/acf-options-for-polylang#readme\">README on GitHub<\/a>.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.0.0 - 16 February 2025<\/h4>\n\n<p><strong>Breaking Changes<\/strong>\n* Minimum PHP version raised from 5.6 to 7.4\n* Minimum WordPress version raised from 4.7 to 6.0<\/p>\n\n<p><strong>New Features<\/strong>\n* Configurable Polylang language attribute for option key suffix: constant BEA_ACF_OPTIONS_FOR_POLYLANG_LANG_ATTRIBUTE, helper Helpers::get_lang_attribute(), and filter bea.aofp.lang_attribute allow using slug (or other Polylang fields) instead of default locale\n* Added comprehensive unit testing suite with PHPUnit (41 test methods)\n* Added wp-env configuration for Docker-based testing environment\n* Added GitHub Actions CI\/CD workflows for automated testing\n* Test coverage across PHP 7.4-8.4 and WordPress 6.0-6.9\n* Added TESTING.md documentation for developers<\/p>\n\n<p><strong>Improvements<\/strong>\n* Updated all development dependencies to latest versions\n* WordPress Coding Standards 3.1 (WP 6.0+ support)\n* PHPUnit 9.6\/10.0\/11.0 multi-version support\n* Enforced modern short array syntax []\n* Updated plugin header with all standard WordPress fields\n* Updated copyright to 2025\n* Removed custom PHP version check and compat.php; PHP requirement is now enforced by WordPress Requires PHP header<\/p>\n\n<p><strong>Documentation<\/strong>\n* Documented language attribute override (constant and filter) in README<\/p>\n\n<p><strong>Code Quality<\/strong>\n* 100% compliance with WordPress Coding Standards\n* Automated testing on 66 PHP\/WordPress combinations\n* Code coverage reporting with Codecov\n* Automated code quality checks<\/p>\n\n<h4>1.1.12 \u2013 26 March 2025<\/h4>\n\n<p>\u2013 FIX: Resolved an issue where the plugin would sometimes deactivate randomly on multisite installations when visiting a site.<\/p>\n\n<p>= 1.1.11 \u2013 27 July 2023\n\u2013 Tested up on WP 6.2<\/p>\n\n<p>= 1.1.10 \u2013 1 Sept 2021\n\u2013 FIX: WordPress.org version generation<\/p>\n\n<p>= 1.1.9 \u2013 1 Sept 2021\n\u2013 FIX: ACF 5.6.0 version check\n\u2013 FEATURE: Add new filter bea.aofp.excluded_post_ids to skip page ids<\/p>\n\n<p>= 1.1.8 \u2013 27 March 2021\n\u2013 FIX : Rest API returns now the right value\n\u2013 FIX : Ajax requests where not localized\n\u2013 FIX : Compatibility with new versions of ACF<\/p>\n\n<h4>1.1.7 \u2013 07 May 2019<\/h4>\n\n<p>\u2013 Feature: Add a context-sensitive help to the user on ACF options page (tired of updating the generic options \u2026)\n\u2013 Improve: object detection from ACF with get_field()\n\u2013 Feature: Add translation POT and french translation\n\u2013 FEATURE <a href=\"https:\/\/github.com\/BeAPI\/acf-options-for-polylang\/issues\/31\">#31<\/a>: Brand for wp.org\n\u2013 Test: Test up on WP 5.2\n\u2013 FIX <a href=\"https:\/\/github.com\/BeAPI\/acf-options-for-polylang\/issues\/41\">#41<\/a>: fix bug with all language failback and repeater<\/p>\n\n<h4>1.1.6 \u2013 19 Mar 2019<\/h4>\n\n<p>\u2013 FIX <a href=\"https:\/\/github.com\/BeAPI\/acf-options-for-polylang\/issues\/32\">#32<\/a> &amp; <a href=\"https:\/\/github.com\/BeAPI\/acf-options-for-polylang\/issues\/40\">#40<\/a> : fix <code>get_field()<\/code> if an object is provided (WP Term, WP Post, WP Comment)<\/p>\n\n<h4>1.1.5 \u2013 11 Dec 2018<\/h4>\n\n<p>\u2013 FIX wrong constant<\/p>\n\n<h4>1.1.4 \u2013 13 Nov 2018<\/h4>\n\n<p>\u2013 Refactor by adding the Helpers class\n\u2013 FEATURE <a href=\"https:\/\/github.com\/BeAPI\/acf-options-for-polylang\/issues\/26\">#26<\/a> : allow to precise to show or hide default values for a specific option page\n\u2013 FEATURE <a href=\"https:\/\/github.com\/BeAPI\/acf-options-for-polylang\/pull\/21\">#21<\/a> : handle custom option id<\/p>\n\n<h4>1.1.3 \u2013 2 Aug 2018<\/h4>\n\n<p>\u2013 FEATURE <a href=\"https:\/\/github.com\/BeAPI\/acf-options-for-polylang\/pull\/23\">#23<\/a> : requirement to php5.6 whereas namespace are 5.3<\/p>\n\n<h4>1.1.2 \u2013 31 Jul 2018<\/h4>\n\n<p>\u2013 FIX <a href=\"https:\/\/github.com\/BeAPI\/acf-options-for-polylang\/pull\/22\">#22<\/a> : error with repeater fields default values<\/p>\n\n<h4>1.1.1 \u2013 9 Mai 2018<\/h4>\n\n<p>\u2013 FIX <a href=\"https:\/\/github.com\/BeAPI\/acf-options-for-polylang\/issues\/15\">#15<\/a> : way requirements are checked to trigger on front \/ admin<\/p>\n\n<h4>1.1.0 \u2013 Mar 2018<\/h4>\n\n<p>\u2013 True (complet) plugin.\n\u2013 Add check for ACF 5.6.<\/p>\n\n<h4>1.0.2 \u2013 23 Dec 2017<\/h4>\n\n<p>\u2013 Refactor and reformat.\n\u2013 Handle all options page and custom post_id.\n\u2013 Now load only if ACF &amp; Polylang are activated.\n\u2013 Load later at plugins loaded.<\/p>\n\n<h4>1.0.1 \u2013 19 Sep 2016<\/h4>\n\n<p>\u2013 Plugin update.<\/p>\n\n<h4>1.0.0 \u2013 8 Mar 2016<\/h4>\n\n<p>\u2013 Init plugin.<\/p>","raw_excerpt":"Improves Polylang by adding per-language support for ACF options pages\u2014each language can have its own option values.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/roh.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/103636","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/roh.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/roh.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/roh.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=103636"}],"author":[{"embeddable":true,"href":"https:\/\/roh.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/momo360modena"}],"wp:attachment":[{"href":"https:\/\/roh.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=103636"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/roh.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=103636"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/roh.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=103636"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/roh.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=103636"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/roh.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=103636"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/roh.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=103636"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}