智慧·快乐·成长——科技造福于人。

Simple Tags内链插件支持中文自动标签链接为文章添加内链支持中文

在https://www.0633seo.cn/10771.html基础上做了一些改进。
首先打开simple-tag插件的内链开关(在feature那一栏第一项),然后设置内链相关的配置:
simpletag
其他的设置的话,根据自己的需求进行修改。

总体来看,这个插件还是非常好用的,能用插件实现的功能,就尽量不要自己折腾代码了。

因为这个插件默认做的是英文文章的自动标签链接,而因为单词前后是有空格,但是中文一句话都是连在一起的,因此对中文文章无效,如果单独写个标签词,前后空格或逗号隔开才有效,但是这显然不符合我们的要求和习惯.

那么如何修改这个插件,使得其对中文文章也能完美的实现自动标签链接呢?

其实只需要修改2个地方:

首先,找到 \inc\class.client.autoterms.php 这个文件,在大约第108行,

将类似下面这句话:
if ( preg_match(“/\b”.$term.”\b/i”, $content) );
修改为
if ( preg_match(“/”.$term.”/i”, $content) );
即把两个 \b 去掉,\b 在正则表达式中表示单词边界,但是中文跟英文不一样,字(词)与字(词)之间没有边界。

接着,第2个需要修改地方,找到 \inc\class.client.autolinks.php 文件,在大约251行,

找到下面两行代码,并在前面都加上//注释掉

// $match = ‘/(\PL|\A)(‘ . preg_quote( $search, ‘/’ ) . ‘)(\PL|\Z)/u’ . $case;
// $substitute = ‘$1<a class=”st_tag internal_tag” title=”‘ . esc_attr( sprintf( SimpleTags_Plugin::get_option_value( ‘auto_link_title’ ), $search ) ) . ” href=”‘ . $replace . ‘” rel=””>$2</a>$3″;
再把下面两行原本用//注释掉的代码,去掉//取消注释,并把第一行的2个/b去掉
$match = “/” . preg_quote($search, “/”) . “/”.$case;
$substitute = ‘<a class=”st_tag internal_tag” title=”‘. esc_attr( sprintf( /*__(‘Posts tagged with %s’, ‘simpletags’) 注意这里要替换成后面的函数 */ SimpleTags_Plugin::get_option_value( ‘auto_link_title’ ), $search ) ).” href=”‘.$replace.'” rel=””>$0</a>”;

转载请注明:转自《Simple Tags内链插件支持中文自动标签链接为文章添加内链支持中文
本文地址:https://www.zhiletu.com/archives-10749.html

赞赏

微信赞赏支付宝赞赏

上一篇
下一篇

相关文章

在线留言

你必须 登录后 才能留言!