You are using Advanced Custom Fields for creating option pages and you have Polylang installed for awsome multilingual site ?
Sadly, Polylang is not handling ACF's Option Pages. Which means values will be the same for all languages you have set :(
We are here to save your life ! Once this plugin is activated, you will be able to set a different value for each language, and if none is set, the "All languages" value will be used as default one.
This plugin is storing a value for each language into database. That means at activation, all data will not be anymore available, but still in database.Then Polylang's lang is used to get the values from the DB. Simply contribute your option page by selecting the Polylang's language from admin flags ui.
- WordPress 4.7+
- Tested up to 4.9.4
- PHP 5.6
- Advanced Custom Fields 5.6.0+
- Polylang
Once activated Polylang's languages into admin area will affect ACF's options pages.
- Download and install using the built-in WordPress plugin installer.
- Site activate in the "Plugins" area of the admin.
- Optionally drop the entire
acf-options-for-polylang
directory into mu-plugins. - Nothing more, this plugin is ready to use !
- Add repository source :
{ "type": "vcs", "url": "https://github.com/BeAPI/acf-options-for-polylang" }
. - Include
"bea/acf-options-for-polylang": "dev-master"
in your composer file for last master's commits or a tag released. - Nothing more, this plugin is ready to use !
- Almost simple fields (text, textarea, links, etc)
- Repeater fields ( with simple fields )
As you can see, some issues are feature requests :
- Migration of data for using plugin : at activation, all data will not be anymore available, but still in database.
- Migration of data for not using plugin anymore
- todo
Please refer to the contributing guidelines to increase the chance of your pull request to be merged and/or receive the best support for your issue.
If you identify any errors or have an idea for improving the plugin, feel free to open an issue. Please provide as much info as needed in order to help us resolving / approve your request.
The plugin is designed to get the Polylang "All languages" value if the current lang one is empty. But if you are not interested about this behaviour, you can programmatically deactivate it using the following filter by setting to false.
<?php add_filter( 'bea.aofp.get_default', '__return_false' );
<?php add_filter( 'bea.aofp.get_default', function( $show_default, $post_id ) {
if ( 'my_custom_acf_option_post_id' === $post_id ) {
// Custom condition for the wanted post id ACF Option page
return false;
}
return $show_default;
}, 10, 2 );
Created by Be API, the French WordPress leader agency since 2009. Based in Paris, we are more than 30 people and always hiring some fun and talented guys. So we will be pleased to work with you.
This plugin is only maintained, which means we do not guarantee some free support. Consider reporting an issue and be patient.
If you really like what we do or want to thank us for our quick work, feel free to donate as much as you want / can, even 1€ is a great gift for buying cofee :)
BEA - ACF Options for Polylang is licensed under the GPLv3 or later.