-
我们在做wordpress主题 的时候经常会遇到这种情况,就是在做新闻头条的时候,由于第一篇文章已经作为头条显示出来了,那么下面如果再想调用这个目录里的文章就需要从第二篇文章开始调用,否则就会出现重复调用,那……技术教程 2022-09-17 174
-
有网友留言,想实现WordPress在前台注册的功能,联想之前写的教程:WordPress添加投稿功能,实现方法很类似,趁着今天休息,琢磨了一下,很快实现了WordPress前台的注册的功能。下面分享具体方法: 一、添加注册表……技术教程 2022-06-02 185
-
在我们进行WordPress前端用户中心功能开发的时候,经常会需要一些自定义字段来实现我们的需求,很多的插件可以实现我们的需求,今天分享的是免插件实现添加用户自定义字段(user_meta)到用户资料的教程。 今天我们……技术教程 2022-06-02 160
-
一、添加登录表单 1、首先在当前主题的目录下新建一个php文件,命名为page-login.php,然后将page.php中的所有代码复制到page-login.php中; 2、删除page-login.php开头的所有注释,即 /* 与 */ ,以及它们之间的……技术教程 2022-06-02 173
-
本站整合了几个实用的前端会员中心功能,现在将代码整理分享给大家。代码的作者均为 @露兜博客。 让 WordPress 支持中文用户名 让 WordPress 支持中文用户名 既然是面向国内用户,支持中文用户名就太有必要了。 //……技术教程 2022-06-02 195
通常,每页显示的文章数量默认为仪表板设置 > 阅读 > 博客页面至多显示 的值,您可能希望常规的文章采用这个数量,但是自定义文章类型不要采用。要更改自定义文章类型的存档页面中显示的文章数量,您可以使用带有一些传入参数的pre_get_posts操作来实现。
自定义文章类型存档页面
pre_get_posts就像在页面上运行的主查询的预过滤器 – 如果您要更改这样的页面,最好使用pre_get_posts钩子而不需要采用自定义的WP_Query()
add_action( 'pre_get_posts', 'tl_project_page' ); // 在项目存档页面显示所有项目 function tl_project_page( $query ) { if ( !is_admin() && $query->is_main_query() && is_post_type_archive( 'project' ) ) { $query->set( 'posts_per_page', '-1' ); // 要显示多少个,就修改 -1 为具体的数字即可 } }
如上,第四行的project 是自定义文章类型,通过将posts_per_page的值设置为-1,可以让项目(project)存档中显示所有项目文章。如果你希望每页显示20个,就修改 -1 为 20 即可。如果是其他文章类型,就修改 project 为你的文章类型即可。
多个自定义文章类型存档页面
如果您想将多个自定义文章类型存档文章数量设置为相同的值,例如不限文章数量,您可以使用数组来包含多个自定义文章类型,比如:
is_post_type_archive( array('project', 'treatment', 'testimonial') )
自定义分类存档页面
同样,如果您想更改自定义分类页面的数量,可以参考下面的代码:
add_action( 'pre_get_posts', 'tl_project_tax_page' ); // 在 project_category 分类法的分类存档页面显示所有文章 function tl_project_tax_page( $query ) { if ( !is_admin() && $query->is_main_query() && is_tax('project_category') ) { $query->set( 'posts_per_page', '-1' ); // 要显示多少个,就修改 -1 为具体的数字即可 } }
根据你的实际自定义分类法,修改 is_tax() 的值,以及将 posts_per_page 的-1改为您想要的数字即可。
使用!is_admin()是为了不影响后端显示,如果您确实要更改后端列表,请不要使用此条件,使用 $query->is_main_query() 是为了确保不影响页面上的其他查询。
其他查询参数
您可以使用多个参数来更改查询,比如:
$query->set( 'orderby', 'title' ); $query->set( 'order', 'ASC' ); $query->set( 'post__not_in', array(7,11) ); // 排除特定id的文章 $query->set( 'cat', '-1,-1347' ); // 排除特定id的分类 $query->set( 'cat', '123' ); // 包含特定的分类
更多的参数,可以参考WP_Query