Okay, I write this to anyone that may experience similar problem with Avada 3.6.2 and Polylang.
I did some digging, and I figured out a hack. I don’t know what the consequence will be, but the theme options saving is now working in my language.
My language is Indonesia. So the modifications is saved into Avada_options_id (please read my story above)
To prevent the modification to be saved into Avada_options_id find this file:
wp-content\themes\Avada\admin\index.php
Find this part of code:
elseif( ICL_LANGUAGE_CODE == 'all' ) {
if( defined('ICL_SITEPRESS_VERSION') ) {
$lang = '_' . $sitepress->get_default_language();
if( $sitepress->get_default_language() == 'en' ) {
$lang = '';
}
} elseif( function_exists( 'pll_default_language' ) ) {
$lang = '_' . pll_default_language('slug');
if( pll_default_language('slug') == 'en' ) {
$lang = '';
}
change en to id, or whatever your language code name you setup with polylang. It’s case sensitive.
And I think this piece of code is the one responsible for the creation of Avada_options_id:
if(ICL_LANGUAGE_CODE != 'en' && ICL_LANGUAGE_CODE != 'all' && array_key_exists(ICL_LANGUAGE_CODE, icl_get_languages('skip_missing=N'))) {
$lang = '_'.ICL_LANGUAGE_CODE;
if(!get_option($theme_name.'_options'.$lang)) {
update_option($theme_name.'_options'.$lang, get_option($theme_name.'_options'));
}
@chouby, maybe what’s inside index.php file will interest you or at least just for your information. And you’re right it has something to do with WPML:
<?php
/*
Title : SMOF
Description : Slightly Modified Options Framework
Version : 1.5.1
Author : Syamil MJ
Author URI : https://aquagraphite.com
License : GPLv3 - https://www.gnu.org/copyleft/gpl.html
Credits : Thematic Options Panel - https://wptheming.com/2010/11/thematic-options-panel-v2/
Woo Themes - https://woothemes.com/
Option Tree - https://www.ads-software.com/extend/plugins/option-tree/
Contributors: Syamil MJ - https://aquagraphite.com
Andrei Surdu - https://smartik.ws/
Jonah Dahlquist - https://nucleussystems.com/
partnuz - https://github.com/partnuz
Alex Poslavsky - https://github.com/plovs
Dovy Paukstys - https://simplerain.com
*/
/**
* Definitions
*
* @since 1.4.0
*/
$theme_version = '';
$smof_output = '';
if( function_exists( 'wp_get_theme' ) ) {
if( is_child_theme() ) {
$temp_obj = wp_get_theme();
$theme_obj = wp_get_theme( $temp_obj->get('Template') );
} else {
$theme_obj = wp_get_theme();
}
$theme_version = $theme_obj->get('Version');
$theme_name = $theme_obj->get('Name');
$theme_uri = $theme_obj->get('ThemeURI');
$author_uri = $theme_obj->get('AuthorURI');
}
define( 'SMOF_VERSION', '1.5.1' );
if( !defined('ADMIN_PATH') )
define( 'ADMIN_PATH', get_template_directory() . '/admin/' );
if( !defined('ADMIN_DIR') )
define( 'ADMIN_DIR', get_template_directory_uri() . '/admin/' );
define( 'ADMIN_IMAGES', ADMIN_DIR . 'assets/images/' );
define( 'LAYOUT_PATH', ADMIN_PATH . 'layouts/' );
define( 'THEMENAME', $theme_name );
/* Theme version, uri, and the author uri are not completely necessary, but may be helpful in adding functionality */
define( 'THEMEVERSION', $theme_version );
define( 'THEMEURI', $theme_uri );
define( 'THEMEAUTHORURI', $author_uri );
// Avada Edit
$lang = '';
if(defined('ICL_LANGUAGE_CODE')) {
if( defined('ICL_SITEPRESS_VERSION') ) {
global $sitepress;
}
if(ICL_LANGUAGE_CODE != 'en' && ICL_LANGUAGE_CODE != 'all' && array_key_exists(ICL_LANGUAGE_CODE, icl_get_languages('skip_missing=N'))) {
$lang = '_'.ICL_LANGUAGE_CODE;
if(!get_option($theme_name.'_options'.$lang)) {
update_option($theme_name.'_options'.$lang, get_option($theme_name.'_options'));
}
} elseif( ICL_LANGUAGE_CODE == 'all' ) {
if( defined('ICL_SITEPRESS_VERSION') ) {
$lang = '_' . $sitepress->get_default_language();
if( $sitepress->get_default_language() == 'en' ) {
$lang = '';
}
} elseif( function_exists( 'pll_default_language' ) ) {
$lang = '_' . pll_default_language('slug');
if( pll_default_language('slug') == 'en' ) {
$lang = '';
}
}
} else {
$lang = '';
}
}
// End Avada Edit
define( 'OPTIONS', $theme_name . '_options' . $lang );
define( 'BACKUPS', $theme_name . '_backups' . $lang );
/**
* Required action filters
*
* @uses add_action()
*
* @since 1.0.0
*/
//if (is_admin() && isset($_GET['activated'] ) && $pagenow == "themes.php" ) add_action('admin_head','of_option_setup');
add_action('admin_head', 'optionsframework_admin_message');
add_action('admin_init','optionsframework_admin_init');
add_action('admin_menu', 'optionsframework_add_admin');
/**
* Required Files
*
* @since 1.0.0
*/
require_once ( ADMIN_PATH . 'functions/functions.load.php' );
require_once ( ADMIN_PATH . 'classes/class.options_machine.php' );
/**
* AJAX Saving Options
*
* @since 1.0.0
*/
add_action('wp_ajax_of_ajax_post_action', 'of_ajax_callback');