从访客的体验出发,为WP文章标签自动添加链接

网页的观众有两类,分别是人和搜索引擎的蜘蛛,把他们哄开心之后流量自然而然就会来。我们都希望尽可能长时间地把他们留在站内,除了足够吸引人的内容,还需要编织一张相互连接的网——站内链接,也就是我们常说的内链。

常见的 WordPress 主题都会优化内链:面包屑导航、作者、分类、标签、侧边栏文章列表等都是内链的一部分。不过访客是因为内容才来的,他的注意力最集中的也是正文区域,因此我们需要更加注重正文的内链建设。我认为比较好的方法是给标签对应的文字添加链接,便于访客点击查看相关话题的文章。

许多开发者针对这项功能开发了插件,但是仅仅为了这个目的而安装插件性价比不高。我在 WordPress大学 找到一段代码,在这里分享给大家。

/**
 * WordPress 自动为文章标签添加该标签的链接
 * https://www.wpdaxue.com/auto-add-tag-link.html
 */
function wpkj_auto_add_tag_link($content){

    $limit = 1; // 设置同一个标签添加几次链接

    $posttags = get_the_tags();

    if ($posttags) {
        foreach($posttags as $tag) {
            $link = get_tag_link($tag->term_id);
            $keyword = $tag->name;

            $cleankeyword = stripslashes($keyword);
            $url = '<a target="_blank" href="'.$link.'" title="'.str_replace('%s', addcslashes($cleankeyword, '$'), __('View all posts in %s')).'">'.addcslashes($cleankeyword, '$').'</a>';
            $regEx = '\'(?!((<.*?)|(<a.*?)))('. $cleankeyword . ')(?!(([^<>]*?)>)|([^>]*?</a>))\'s';
            $content = preg_replace($regEx,$url,$content,$limit);
        }
    }

    return $content;
}
add_filter( 'the_content', 'wpkj_auto_add_tag_link', 1 );

把以上代码添加到主题的 functions.php 文件保存即可。希望这段代码在不同主题下都可以生效?希望主题升级后能够保留设置?建议使用 Code Snippets 插件添加代码段,方法请参考《用插件给主题添加代码,避免升级、更换主题导致自定义代码丢失》

实际效果可以参考本文,本文的标签是:WordPress、内链、标签。

耕读君
耕读君

一个筋斗十万八千里,说明上云好啊

文章: 197

留下评论

您的邮箱地址不会被公开。 必填项已用 * 标注