Auto Tag Slug 插件失效的修改方法

2023-01-16 14:52:13 浏览数 (1)

背景

最近整理网站链接发现,过多中文标签链接,网上查询到 Auto Tag Slug 这个插件,可以很快的处理问题.

发现

WordPress 标签别名转换插件 Auto Tag Slug 现在使用不了,英文翻译失效了

原因

原来的 Bing API 转到了 Windows Azure Marketplace,翻译的接口变了。

而且google翻译会更快。

修改方法:

1、新建文件 google_translate.php , 内容如下:

代码语言:javascript复制
function ats_google_translator($array){

    $translatorText = join($array,"|_|");

    if(!class_exists('Snoopy'))

    require_once(ABSPATH.WPINC."/class-snoopy.php");

    $snoopy = new Snoopy();

    $url = "http://translate.google.com/translate_t?langpair=zh|en";

    $submit_vars["hl"] = "zh-CN";

    $submit_vars["text"] = $translatorText;

    $submit_vars["ie"] = "UTF8";

    $submit_vars["langpair"] = "zh|en";

    $snoopy->agent = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN;

    rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11';

    $snoopy->submit($url,$submit_vars);

    if($snoopy->status >= 200 && $snoopy->status < 300){

    $htmlret = $snoopy->results;

        if(preg_match('//ius',

        $htmlret, $matchs) == 1){

            $out = explode($matchs[0],$htmlret);

            unset($matchs);

            $out = explode('

            ',$out[1]);

            $name_tmp = strip_tags($out[0]);

            $name_tmp = str_replace(" | _ | ","|_|",$name_tmp);

            unset($out,$htmlret);

            if(!empty($name_tmp))

            return explode("|_|",$name_tmp);

            unset($name_tmp);

        }

    }

}

2、编辑Auto Tag Slug插件的 auto-tag-slug.php 文件;

代码语言:javascript复制
require_once(‘ms_translator.php’);替换成require_once(‘google_translate.php’);

$converted_tags = ats_bing_translate($ats_options['bing_key'],

$tags_array);替换成$converted_tags = ats_google_translator($tags_array);

保存并上传插件。

后台选择英文。

3、后台会提示你输入 bing api key,解决方法如下:

打开插件的auto-tag-slug.php,141行,注释掉,变成如下代码:

代码语言:javascript复制
// add_action('admin_notices', 'ats_api_warning');

0 人点赞