WordPress程序自动设置标签Tag自动内链无插件实现办法

一直有使用WP keyword Link Plugin插件,但是发现这个插件已经好久没有更新,好像目前在平台中已经找不到。所以准备替换掉这个插件。类似的WordPress插件还是有很多的,比如Keywords to Links Converter、Auto Tag Links等都可以实现。

WordPress程序自动设置标签Tag自动内链无插件实现办法

本着少用插件,能不用插件就不用的策略,所以准备还是无插件实现。

//自动TAG转内链
$match_num_from = 2; // 一个TAG标签出现几次才加链接
$match_num_to = 1; // 同一个标签加几次链接
add_filter(‘the_content’,’tag_link’,1);
function tag_sort($a, $b){
if ( $a->name == $b->name ) return 0;
return ( strlen($a->name) > strlen($b->name) ) ? -1 : 1;
}
function tag_link($content){
global $match_num_from,$match_num_to;
$posttags = get_the_tags();
if ($posttags) {
usort($posttags, “tag_sort”);
foreach($posttags as $tag) {
$link = get_tag_link($tag->term_id);
$keyword = $tag->name;
$cleankeyword = stripslashes($keyword);
$url = “<a href=\”$link\” title=\””.str_replace(‘%s’,addcslashes($cleankeyword, ‘$’),__(‘View all posts in %s’)).”\””;
$url .= ‘ target=”_blank”‘;
$url .= “>”.addcslashes($cleankeyword, ‘$’).”</a>”;
$limit = rand($match_num_from,$match_num_to);
$content = preg_replace( ‘|(<a[^>]+>)(.*)(‘.$ex_word.’)(.*)(</a[^>]*>)|U’.$case, ‘$1$2%&&&&&%$4$5’, $content);
$content = preg_replace( ‘|(<img)(.*?)(‘.$ex_word.’)(.*?)(>)|U’.$case, ‘$1$2%&&&&&%$4$5’, $content);
$cleankeyword = preg_quote($cleankeyword,’\”);
$regEx = ‘\'(?!((<.*?)|(<a.*?)))(‘. $cleankeyword . ‘)(?!(([^<>]*?)>)|([^>]*?</a>))\’s’ . $case;
$content = preg_replace($regEx,$url,$content,$limit);
$content = str_replace( ‘%&&&&&%’, stripslashes($ex_word), $content);
}
}
return $content;
}

将代码添加到当前主题Functions.php文件中。如果有冲突出现问题,我们需要检查是不是不兼容。检查不出来的话,我们只能使用插件实现。

关于WordPress程序自动设置标签Tag自动内链无插件实现办法的相关内容;如有侵权,请联系老文删除。

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
老文的头像老文
上一篇 2021年8月18日 下午4:05
下一篇 2021年8月19日 下午4:56

相关推荐

  • WordPress添加图片水印插件

    强调图片版权,防止懒人直接盗图,给图片加上水印还是很必要的。图像处理熟手,对上传到主机的图片都会进行一些修饰,顺便加上水印,是很简单的事,但大部分童鞋还是喜欢能自动给图片加上水印,WordPress有强大的插件能为我们提供方便。 WordPress插件安装页面,输入“watermark ”关键词并搜索,会找到众多的图片加水印插件,比如: Easy Water…

    2021年8月13日
    584
  • 怎样批量替换WordPress文章中的文字

    批量替换WordPress文章中的文字 如果准备替换修改散布在大量WordPress文章中的相同文字,手动编辑文章修改工作量大,可以用下面的代码实现批量替换,会用到WordPress的操作数据常量$wpdb修改数据库,不需要登录数据库操作。 将代码添加到当前主题函数模板functions.php的最后: global $wpdb; $wpdb->que…

    2022年2月12日
    816
  • 网站错误提示“Error establishing a Redis connection”怎么办?

    WordPress建站使用缓存软件之后,经常会出现“Error establishing a Redis connection”的提示,如图: 去宝塔面板查看后发现,是因为MongoDB或者Redis插件被关闭,你需要手动重启插件才行。 我也没找到具体原因,想着应该是数据过大(70w条帖子),也有可能是我的设置有问题或者wp程序自身对大数据的处理不够好,所以…

    2024年7月31日
    488
  • WordPress怎么自动发布文章

    WordPress具有定期发布文章的功能。在发布界面中,有一个按钮用于立即发布和编辑文章。单击此处可编辑发布文章的时间。 因此,我们可以设置在特定时间发布文章的时间: 为什么我们需要定期发表文章?定期发表文章有哪些优点和缺点?为什么我们需要使用WordPress的定时发帖功能?对于搜索引擎和用户体验来说,在固定时间发布文章是一种非常好的体验。 因为如果我们网…

    2023年1月4日
    195
  • 使用测速脚本对 Linux 服务器进行测速

    最近又搞了个美国的服务器来学习,但是发现在国内直连速度特别慢,就想知道一下他的速度到底怎么样?在厘米大神那找了个综合测速脚本进行测速,并记录如下! 使用 root 账号登陆服务器,输入以下指令: wget -qO- bench.sh | bash 通过这个测速脚本,缙哥哥发现服务器方面,Pump Cloud 是真的不错,阿里云次之,最近买来学习Linux的那…

    2021年8月12日
    522