覆盖单个插件转换

时间:2018-03-03 作者:Roger Wayne

是否可以覆盖函数中的单个插件转换。php文件以及如何做到这一点?

3 个回复
SO网友:Dave Romsey

下面是一个示例,其中使用gettext 过滤器:

/**
 * Translate a certain string from a particular text domain.
 *
 * @param string $translation  Translated text.
 * @param string $text         Text to translate.
 * @param string $domain       Text domain. Unique identifier for retrieving translated strings.
 *
 * @return string
 */
add_filter( \'gettext\', \'wpse_translate_string\', 10, 3 );
function wpse_translate_string( $translation, $text, $domain ) {
    if ( \'plugin_text_domain\' === $domain ) {
        if ( \'Original string...\' === $text ) {
            $translation = \'New string!\';
        }
    }

    return $translation;
}

SO网友:brenorb

如果直接转到源代码,甚至可以覆盖单个消息。

function foo(){
    // old message is commented, so you can go back anytime.
    //echo wp_send_json(array(\'status\' => \'error\', \'error_message\' => esc_html__(\'Error Message\', \'osetin\')));
    // message is overriden 
    echo wp_send_json(array(\'status\' => \'error\', \'error_message\' => esc_html__(\'Overriden message with any text you want\', \'osetin\')));
}

SO网友:Saeed

最好的方法是重写翻译文件。采购订单

add_filter( \'load_textdomain_mofile\', \'load_custom_plugin_translation_file\', 10, 2 );
function load_custom_plugin_translation_file( $mofile, $domain ) {
    if (\'woocommerce\' === $domain) {
        $mofile = get_stylesheet_directory() . \'/languages/woocommerce-\' . get_locale() . \'.mo\';
    }
    return $mofile;
}

结束

相关推荐

WordPress Plugins won't save

我有一个WordPress网站,我刚刚接管了一个客户,因此我没有能力与以前的网站管理员/开发人员交谈。该网站使用的是YOOtheme对Subway稍加修改的版本。为了更新插件位置,Subway的一部分有“小部件选项”。我无法更改外观或小部件显示的页面,因为我无法保存任何内容。它看起来像已保存,但没有保存,或者您会在保存按钮旁边看到“加载循环”,它一直在运行。Things to note:<WordPress和插件是最新的。在我们转移到新服务器之前,插件是可更新的。新服务器有一个max\\u inpu