Esc_html_()和__()在数组中不起作用

时间:2017-12-02 作者:mrKC.988

我正在创建一个小部件,但标题和描述不可翻译。

我经常面临数组的这个问题,我使用esc_html__() 数组内部,该数组应将转换后的字符串返回给$key 但由于某种原因,它不起作用,所以我发现自己使用esc_html__() 但是,在阵列之外,我如何在这里做到这一点:

function __construct() {
    $op = array(
        \'name\' => esc_html__( \'some title\', \'my-plugin\' ),
        \'description\' => esc_html__( \'some description goes here\', \'my-plugin\' )
    );
    parent::__construct( \'pk_members_widget\', \'\', $op );
}
最重要的是,为什么将其添加到阵列中时不起作用?谢谢

1 个回复
最合适的回答,由SO网友:kierzniak 整理而成

我创建了一个简单的小部件来找出为什么会有这样的问题。一切正常。下面我以我的代码为例。

/**
 * Register widget
 */
function wpse_287570_register_widget()
{
    register_widget(\'WPSE_287570_Widget\');
}

add_action(\'widgets_init\', \'wpse_287570_register_widget\');

/**
 * Create widget
 */
class WPSE_287570_Widget extends WP_Widget {

    public function __construct()
    {
         $op = array(
            \'name\' => esc_html__( \'some title\', \'wpse_287570\' ),
            \'description\' => esc_html__( \'some description goes here\', \'wpse_287570\' )
        );

        parent::__construct( \'wpse_287570_widget\', \'\', $op );
    }
}


/**
 * Load the plugin translations
 */
function wpse_287570_load_textdomain() {

    load_plugin_textdomain( \'wpse_287570\', false, basename( dirname( __FILE__ ) ) . \'/languages\' );
}

add_action( \'plugins_loaded\', \'wpse_287570_load_textdomain\' );
我保留我的翻译languages 插件主目录中的目录。我的翻译文件是根据textdomain和区域设置命名的:wpse_287570-pl_PL.powpse_287570-pl_PL.mo.

结束

相关推荐

Custom metabox translation

我已经创建了一个自定义的帖子类型,并添加了一些自定义的元数据库,现在我想知道我在我的网站上使用了什么样的翻译插件?我对它们都没有经验,所以我不知道谁会支持我的自定义元数据库,谁不会。