解决jetpack谷歌翻译插件无法使用问题

由于谷歌翻译被墙了,很多人安装了jetpack的相关功能都无法正常使用
笔者由于使用了jetpack里面的wget模块(谷歌翻译)导致网站打开异常的卡
查看浏览器F12开发者模式才发现有个JS文件无法正常加载如图:
image

其中有google.com的网址的直接加载失败,另外一个是打赏点赞插件不在本文讨论之内。
确定了问题就有了大概的解决思路:
1、替换掉谷歌翻译的源地址,笔者已经尝试过谷歌中国的翻译是可以正常使用的,证明ZF还是很关系科技教育的嘛,题外话。
2、替换源地址必须找到源文件才可以,因为对jetpack基本不熟悉,所以打开追踪发现了如下地址,一看这代码很明显是通过php文件直接加载的。这个时候有两个思路,一个是通过文本追踪找到源文件直接替换,另外就是通过官方文档。还好Jetpack写的非常规整,我在wordpress后台插件管理里面找到了分类目录,具体过程就不说了。目录文件在这里:
wp-content/plugins/jetpack/modules/widgets/google-translate.php
打开这个文件,将46-57行文件替换成以下代码即可。

public function enqueue_scripts() {
    wp_register_script(
        'google-translate-init',
        Jetpack::get_file_url_for_environment(
            '_inc/build/widgets/google-translate/google-translate.min.js',
            'modules/widgets/google-translate/google-translate.js'
        )
    );
    wp_register_script( 'google-translate', '//translate.google.cn/translate_a/element.js?cb=googleTranslateElementInit', array( 'google-translate-init' ) );
    // Admin bar is also displayed on top of the site which causes google translate bar to hide beneath.
    // Overwrite position of body.admin-bar
    // This is a hack to show google translate bar a bit lower.

或者直接搜索文本google.com替换为google.cn保存文件即可。

发表评论

电子邮件地址不会被公开。 必填项已用*标注