一、如何使wordpress首页显示文章摘要
wordpress博客首页显示文章列表的时候,默认是显示每一篇文章的所有内容的,这样的做法是既不美观,又影响网页打开速度,如何使wordpress首页显示文章摘要这个问题不需多说,一般的主题都具有这个功能,如果不具这个功能的话可以用下面两个方法实现。

1.在写文章的时候利用wordpress的More标签,在需要摘要开始的地方插入More标签即可。

1

2.或者使用插件,如wp-limit-posts-automatically,limit-post-add-on,wp-utf8-excerpt等,本人这几个都试用了,对于中文用户来说,效果最好的莫过于wp-utf8-excerpt了,虽然wp-limit-posts-automatically用起来更方便,但有一缺陷就是首页显示的摘要如果包括html标签的话,可能会导致整个页面布局乱成一套。
二、如何使加密文章不显示首页摘要
在wordpress首页显示摘要使用两种函数来实现,cut_str函数和mb_strimwidth函数。但缺陷是加密文章的摘要也会被摘取。显示摘要的地方主要有三个地方,index首页、archive存档页和search搜索页。如何不让加密文章显示摘要呢?可以利用wordpress的加密日志函数post_password_required来解决。

1.mb_strimwidth函数代码的修改

在主题首页index.php、存档页archive.php和搜索页search.php中找到:

<?php echo mb_strimwidth(strip_tags(apply_filters('the_content',$post->post_content)),0,300,"[......]");?>
<p></p><p><a rel="nofollow" href="<?php the_permalink();?>"><?php _e('Read More&raquo;','YLife');?></a></p>


将其修改为如下代码即可:


<?php if(post_password_required()): ?>
<?php the_content(); ?>
<?php else : ?>
<?php echo mb_strimwidth(strip_tags(apply_filters('the_content',$post->post_content)),0,300,"[......]");?>
<p></p><p><a rel="nofollow" href="<?php the_permalink();?>"><?php _e('Read More&raquo;','YLife');?></a></p>
<?php endif; ?>


因为主题的不同的不同代码也会有所不同,但实现的方法都一样。基本都是在
<?php echo mb_strimwidth前面加上
<?php if(post_password_required()): ?>
<?php the_content(); ?> ”
在看到“read More”或者“阅读更多”之类(因为主题不同)的后面代码结束结尾加上
<?php endif; ?>
2.cut_str函数代码的修改

和上面mb_strimwidth函数类似,主题不同代码也会不同,但方法都一样,

以deve主题为例:

在主题目录下,postformat.php中查找:


<?php echo cut_str(strip_tags(apply_filters('the_content',$post->post_content)),200); ?>


修改为:


<?php if(post_password_required()): ?>
<?php the_content(); ?>
<?php else : ?>
<?php echo cut_str(strip_tags(apply_filters('the_content',$post->post_content)),200); ?>
<?php endif; ?>


或许因为主题不同,PHP文件也不同,不一定都是修改index.php、archive.php和search.php,凡是显示摘要的页面中的代码都要修改。


最后修改:2019 年 08 月 06 日
如果觉得我的文章对你有用,请随意赞赏