我想我用插件中的以下扩展函数修复了这个问题:
function localize_backend( $locale ) {
// set langauge if user is in admin area
if( defined( \'WP_ADMIN\' ) || ( isset( $_REQUEST[\'pwd\'] ) && isset( $_REQUEST[\'kau-boys_backend_localization_language\'] ) ) ){
// ajax call from frontend
if ( \'admin-ajax.php\' == basename( $_SERVER[ \'SCRIPT_FILENAME\' ] ) && strpos( admin_url(), $_SERVER[ \'HTTP_REFERER\' ] ) === false ) {
// if lang request param was set, change locale for AJAX response, else, don\'t overwrite locale (use frontend locale)
if ( ! empty( $_REQUEST[ \'lang\' ] ) ) {
$locale = $_REQUEST[ \'lang\' ];
}
} else {
$locale = backend_localization_get_locale();
}
}
return $locale;
}
它将检查是否进行了AJAX调用。如果呼叫来自前端,它会检查
lang
请求参数。如果能找到,那就是
$locale
到该值。否则,它不会将区域设置更改为后端设置,因此它应该是在
wp-config.php
文件
请更新到插件的2.1版本,然后再次检查。
再次感谢@Rarst和@cybnet的提示。