高海鹏老师的博客目前使用萧涵3.0主题,我发现很多人在使用这个主题如果使用了缩略图插件,就会很容易发生缩略图重复的问题,具体现象为:本来已经显示一个缩略图了,但是摘要中还有其他缩略图,于是缩略图就重复出现了两次或更多次。这个问题如何解决呢?
原因分析:
萧涵3.0主题无需摘要插件,自动截取文章内容的第一段内容作为摘要,并且会保留原有格式输出。这就是问题的所在了:如果我恰好在第一段中插入了一个图片,主题会把这一段截取为摘要,并保留格式。这样缩略图插件检测到图片的存在,就又会生成第二个缩略图,于是造成缩略图重复出现的BUG。
图:缩略图重复显示
有站长说我分了段的啊,怎么主题并不是截取第一段,而是输出好多段作为摘要呢?这就要分析主题是如何确定第一段了,我看了function.php源码,虽说并不懂得php语言,但是还是可以看得出萧涵主题确定第一段是靠的“<p>”和“/n”标记,而使用<br>分段显然不在识别的范围之内。所以如果使用的<br>分段,主题是识别不出来的,主题会把所有内容当成一段,这样就更加容易出现缩略图重复的问题。
解决方案:
1、首先要保证分段,在wordpress编辑器中敲回车,分段自然是正确的,但是如果在“记事本”中分段,再粘贴到wordpress编辑器中,分段就不对了。一般我使用Word来写文章,写的时候不设置任何格式,写完后复制粘贴到Wordpress编辑器中。
2、不要再第一段中插入图片文件
这样主题的截取摘要时就不会截到图片,保证显示的时候不至于出现两个或多个缩略图的错误。
3、修改function.php
这是终极解决方案,修改function.php中关于摘要截取的源码,截取的时候过滤不希望出现的标签,如img之类,这样就算在第一段中出现图片,也不怕缩略图重复了。
我不懂php语言,所以这个终极解决方案无法实现了,期待php达人现身解决这个小问题。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/250741.html