前面boke112百科跟大家分享了『WordPress纯代码实现自动为文章添加标签及标签内链接』,通过添加相关代码到所使用主题的unctions.php函数文件中可以实现自动为文章内的标签添加相应链接,而且代码中已经排除了文章页内原有的链接和图片链接,但是boke112百科发现部分文章还是会出现原有链接被标签链接断开的情况,具体如下图所示:
如上图所示,『国外免费CDN Cloudflare最新的IPv4和IPv6地址(白名单)』原本就带有内链接,但是被Cloudflare这个标签链接断开了,导致前面的“国外免费CDN”保持原来的链接,后面的“最新的IPv4和IPv6地址(白名单)”没有链接,而Cloudflare是该标签链接。
boke112百科用另一个测试网站来测试同样的添加标签链接代码,同样是文章内容带有链接,该链接内容带有标签,但是没有出现被标签链接断开的情况。经过对比发现,被标签链接断开的内容前后带有<u></u>标签。具体如下图所示:
这个<u></u>标签是因为boke112百科平时在WPS文字中编写好内容并添加链接后再复制粘贴到WordPress编辑器中,然后链接就会自动带有<u></u>标签。boke112百科试着将这个<u></u>标签去掉并保存文件后发现已经恢复正常。具体如下图所示:
综上所述,WordPress文章标签自动添加链接代码是没有问题的,只是因为我们的链接内容带有<u></u>标签而已。所以解决办法就是进入数据库通过SQL语句直接删除这个标签即可,具体SQL语句如下(记得修改表前缀wp):
UPDATE wp_posts SET post_content = replace(post_content,'<u>','');
UPDATE wp_posts SET post_content = replace(post_content,'</u>','');
以后通过WPS文字编写内容时不要急着添加链接,或直接在WPS禁止超链接下划线就不会自动带有<u></u>标签,若不懂请参考『WPS文字超链接怎么设置样式禁止显示下划线?WPS禁止超链接下划线』),这样在WPS中添加链接后粘贴到WordPress编辑器中就不会再出现<u></u>标签了。