优雅的修改WordPress,实现点击标签使用单独设置的每页文章数量来展示文章列表,并取消掉摘要简述。
其实也没多优雅,这是与前一篇文章比较,相对而言的。
原文来自:http://ant73.com/276.html
前一篇文章(http://ant73.com/269.html)写到,如何修改wordpress,实现点击标签云(tag cloud)中的一个标签,就展示出此标签下的所有文章。本来有这个功能,但是,因为我在后台设置了每页只显示1篇文章。
没想到这个设置影响到了展示标签下的文章,这里,也变成了每页只显示1篇文章。我想实现每页显示73篇文章,超过了再分页。
所以,才有了前面那篇文章,讲如何实现这个功能。功能倒是实现了,但是太简陋了啊。
后面,我又在wordpress官方论坛发帖子(https://wordpress.org/support/topic/blog-pages-show-at-most-1-posts-how-to-that-10-posts-in-a-page-under-tag/#new-topic-0),求助。
等我到楼顶,锻炼舞花棍回来,已经有高手回复了。这位高手提到
https://codex.wordpress.org/Plugin_API/Action_Reference/pre_get_posts
真的是解决了我的大问题,这里,居然有几乎可以直接使用的示例代码。
我只改了数量,由50改为73,然后把最后一个判断为movice类型的条件也给删除了。
就可以实现我要的效果了。太棒了。下面是具体代码和文件路径。希望能帮助您。
原文来自:http://ant73.com/276.html
注意,修改前,请先备份好相关的东西,避免,不小心弄错了,不好还原,那是相当尴尬啊。
在wp-content/themes/twentynineteen目录,找到functions.php
并添加以下代码。
function hwl_home_pagesize( $query ) {
if ( is_admin() || ! $query->is_main_query() )
return;
if ( is_home() ) {
// Display only 1 post for the original blog archive
$query->set( ‘posts_per_page’, 1 );
return;
}
// Display 73 posts per page 原文来自:http://ant73.com/276.html
$query->set( ‘posts_per_page’, 73 );
return;
}
add_action( ‘pre_get_posts’, ‘hwl_home_pagesize’, 1 );
在wp-content/themes/twentynineteen/template-parts/content目录下,把content-excerpt.php 复制,并改名为content-excerptg.php
然后把
<?php twentynineteen_post_thumbnail(); ?>
<div class=”entry-content”>
<?php the_excerpt(); ?>
</div><!– .entry-content –>
删除掉,就没有摘要了,每页显示的,就是标题和作者,日期,标签之类的了,没有烦人的摘要简述了。
欢迎您加QQ群619138205 点击链接加入群聊【清风花雨聊天室】:https://jq.qq.com/?_wv=1027&k=5GcS8dM
一起交流