优雅的修改WordPress,实现点击标签使用单独设置的每页文章数量来展示文章列表

优雅的修改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
一起交流