WordPress居然没有自带阅读量显示…
摘要倒是有,然而显示摘要就不显示阅读全文了…
不显示摘要的话更惨,整篇文章出现到主页上,我只想显示几行字啊…
于是捣鼓了一下午,终于解决这两个问题了。
上午刚装好wp,发了两篇博文,突然想到一个问题,呃…在哪可以看阅读量?
上百度查了一下,wp没有自带显示阅读量的功能,再查一下,噢,原来有WP-PostViews这个插件。
那还等什么,装起来用呗。
装完之后,设置里会多出一个PostViews
的选项,点进去是插件的设置,我比较懒,粗略介绍下就不一个个翻译了
从上到下分别是设置统计哪些用户的访问量,是否统计搜索机器人的访问量,显示阅读量的模板,在哪些模块显示阅读量
设置完后,我们可以先看一下插件里的wp-postviews.php
到底是怎么写的,其他的不重要,我们只要知道the_views()
是用来输出我们刚刚设置的Views Template就行
这里的should_views_be_displayed($views_options)
我猜是用来检测是否允许输出到模块的,那么$display
就是控制显示模式,true
的时候直接echo
,flase
的时候只把Views Template return
出来。原理挺好懂的,我们可以先用function_exists('the_views')
判断the_views
是否存在,然后执行the_views()
或者操作the_views(0)
返回的值就好。至于要加在什么地方,抱歉了这个只能看自己的模板了。例如我用的wp2016主题,往footer
那里加上这一段就可以达到下图效果。
那么剩下的就要靠自己摸索了。
然后是摘要,wp默认主题显示的是完整文章,有时候文章比较长,主页看起来就像内容页,然后去百度,找到一篇WordPress首页文章不显示全文的方法,这里我们只要知道the_content()
可以输出全文,the_excerpt()
可以输出摘要,当没有摘要的时候,the_excerpt()
会自己截取文章开头当摘要就好。
然后我们在编辑页面打开摘要功能,再把模板文件里的the_content()
改成the_excerpt()
试试。
这效果,好像有点极端了,然后再回去看刚刚的文章,最后一节有一段代码可以加在functions.php
文件里
1 | function custom_excerpt_length( $length ) { |
勉强能看懂这里是扩展了原来的excerpt
方法,限制了摘要的字数,还有修改摘要末尾的文字,但是这又出现了一个问题,没有写摘要的时候,主页截取了一段当摘要后面跟着阅读全文很正常,但是如果写了摘要的话,就不显示阅读全文了。
那么我干脆不用excerpt
方法来添加阅读全文,自己在末尾添加链接好了。于是我把这两个改成自己的方法
1 | function tz_excerpt_length( $length ) { |
在模板文件的the_excerpt()
后面加一句
1 | echo '<a href="' . get_permalink() . '">阅读全文</a>'; |
完美。
另外我很好奇那个999到底是什么参数,然后看了下官方文档
这让我想起了z-index:9999;