前面泪雪博客分享了 WordPress 标签如何实现批量自定义链接,但是想着可能还需要使用到 WordPress 标签自动内链才能完成闭环的反链建设工作,毕竟很多的 WordPress 主题和站点并没有直接展现文章标签的习惯,并且将链接做在内容中也才更有 SEO 优化的意义,所以子凡我联盟重新进行了一个增强的代码版本,结合了标签自动内链的部分代码。
使用以下代码就能自定义将指定的关键词文本增加链接,可以是内链也可以是外链,子凡我开发的目的就是为了增加网站外链,就像我提及到泪雪网和垒阅网这两个网站就会自动的增加链接,当然还可以根据自己的需要不断的增加和删除自定义文本链接,可以是任意的关键词都行,不区分大小写都可以成功匹配。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | // WordPress 文章自定义关键词链接 add_filter('the_content', 'fanly_auto_links'); function fanly_auto_links($content) { // 定义链接数组 $links = array( '泪雪博客' => 'https://zhangzifan.com', '泪雪网' => 'https://leixue.com', '垒阅网' => 'https://leiue.com', // 添加其对应链接 ); // 保护标签内容,以免替换 $content = preg_replace_callback('/(<(?:a|code)b[^>]*>.*?</(?:a|code)>|<imgb[^>]*/?>)/si', function($matches) { return '%&&&' . base64_encode($matches[0]) . '&&&%'; }, $content); // 替换关键词为链接,不区分大小写 foreach ($links as $names => $link) { $keywords = explode('|', $names); foreach ($keywords as $name) { // 替换内容中的标签文本为链接,不区分大小写 $content = preg_replace('/(b' . $name . 'b)/iu', '<a href="' . $link . '" target="_blank" rel="noopener">$1</a>', $content, 1); } } // 恢复被保护的标签内容 $content = preg_replace_callback('/%&&&(.*?)&&&%/si', function($matches) { return base64_decode($matches[1]); }, $content); return $content; } |
直接将以上代码添加到当前使用主题的 functions.php 文件合适位置即可,在 $links 数组中添加需要替换为链接的关键词文本和对应的链接就行,代码会在替换标签文本为链接之前,先保护文章内容中已有的 a、img、code 标签内的内容,如果你的网站还有其他标签内容需要保护可以看着增加,使用了正则表达式的 preg_replace_callback 函数来实现保护,在替换完成后恢复被保护的标签内容,确保文章的 HTML 结构不会被破坏。
更多关于WordPress优化及疑问可以添加QQ群:255308000
除非注明,否则均为泪雪博客原创文章,禁止任何形式转载
留言评论