看到有群友问过WordPress如何显示文章摘要,文章摘要字数太多怎么办?怎么让文章摘要超过指定字数就显示省略号?等等一系列关于文章摘要的问题,今天代码狗分享下制作主题时产生文章摘要的处理办法。看下图效果,或者本站文章列表摘要效果。
获取文章摘要的方法多种多样,the_excerpt()函数就能帮我们调用文章的摘要内容。值得注意的是,这个函数只能在文章列表主循环中调用,否则会报错。什么是文章列表主循环呢?就是在
复制
<?php if (have_posts()) : while (have_posts()) :the_post(); ..... endif; ?>
类似这种查询了文章然后循环输出的时候就称为主循环,文章列表是我加的,方便大家记忆。下面的代码一样需要在这种情况下调用,否则会出现错误。
由上图我们可以发现,当文章摘要字数超过一定量之后就不会显示文字了,而是以省略号的形式表示更多内容需要读者点击查看。这个效果是如何实现的呢?
复制
<?php echo mb_strimwidth(strip_tags(apply_filters('the_content', $post->post_content)), 0, 210,"..."); ?>
上面的方法是说取出文章内容,然后去除html标签,再截取0到210的字符,最后在截取出的字符串末尾加上…三个点省略号。这样就能实现我们想要的效果了,效果和上图一样。如果你在截取文章摘要时发现字符乱码,那么可以考虑在上面的代码中加入编码转换,具体见下面代码。
复制
<?php echo mb_strimwidth(strip_tags(apply_filters('the_content', $post->post_content)), 0, 210,"...","utf-8"); ?>
相较于上面的代码,这次在代码的末尾增加一个参数,函数会自动为其转码,更多用法等待大家发掘!
有网友问如何在文章页调用摘要,很简单,只需要修改上面的函数,在singe.php文件中加入如下代码即可。
复制
<?php echo mb_strimwidth(strip_tags( the_content()), 0, 210,"..."); ?>
评论 (4)