是否可以取消对特定帖子类型的POSTS_PER_PAGE限制?

时间:2018-10-01 作者:VeeJay

我想知道我是否可以取消特定帖子类型的posts\\u per\\u页面限制。

在存档中。php页面我显示不同的帖子类型,对于特定的“出版物”帖子类型,我想显示所有帖子。我如何在不影响传统“post”类型的情况下实现这一点?

3 个回复
最合适的回答,由SO网友:FFrewin 整理而成

你可以在pre_get_posts 操作,以访问$query 对象

您应该在函数中使用动作挂钩。php。函数的外观示例:

add_action( \'pre_get_posts\', \'publications_archive_query\' );
function publications_archive_query( $query ) {
  if ( !is_admin() && $query->is_main_query()) {
    if ( $query->get(\'post_type\') === \'publications\' ) {
      $query->set( \'posts_per_page\', 5 );
    }
}
通过使用条件检查缩小要修改的查询的范围。

$query->get(\'post_type\') 获取当前的查询post\\u类型以进行检查。

is_main_query 以确保仅将查询修改应用于主查询。

进一步阅读并找到更多示例:https://codex.wordpress.org/Plugin_API/Action_Reference/pre_get_posts

SO网友:Code357

公认的答案不起作用,但这个答案确实起作用:

function bloom_custom_posts_per_page( $query ) {
  if( !is_admin() && $query->query_vars[\'post_type\'] == \'post_type\') {
     $query->query_vars[\'posts_per_page\'] = -1;
     return $query;
  }
}
add_filter( \'pre_get_posts\', \'bloom_custom_posts_per_page\' );

SO网友:T.Todua

如果您自己在这些.php 页面,那么最好通过-1 在获得无限职位的争论中:

$args =  array( ...... \'posts_per_page\'=>-1, .....) 
$your_query = new WP_Query($args);
如果您无权访问查询,请创建.php 文件,那么您可能需要使用较少推荐的pre_get_post 版本(影响该自定义类型的所有页面/查询),如@FFrewin建议。

结束

相关推荐

是否可以取消对特定帖子类型的POSTS_PER_PAGE限制? - 小码农CODE - 行之有效找到问题解决它

是否可以取消对特定帖子类型的POSTS_PER_PAGE限制?

时间:2018-10-01 作者:VeeJay

我想知道我是否可以取消特定帖子类型的posts\\u per\\u页面限制。

在存档中。php页面我显示不同的帖子类型,对于特定的“出版物”帖子类型,我想显示所有帖子。我如何在不影响传统“post”类型的情况下实现这一点?

3 个回复
最合适的回答,由SO网友:FFrewin 整理而成

你可以在pre_get_posts 操作,以访问$query 对象

您应该在函数中使用动作挂钩。php。函数的外观示例:

add_action( \'pre_get_posts\', \'publications_archive_query\' );
function publications_archive_query( $query ) {
  if ( !is_admin() && $query->is_main_query()) {
    if ( $query->get(\'post_type\') === \'publications\' ) {
      $query->set( \'posts_per_page\', 5 );
    }
}
通过使用条件检查缩小要修改的查询的范围。

$query->get(\'post_type\') 获取当前的查询post\\u类型以进行检查。

is_main_query 以确保仅将查询修改应用于主查询。

进一步阅读并找到更多示例:https://codex.wordpress.org/Plugin_API/Action_Reference/pre_get_posts

SO网友:Code357

公认的答案不起作用,但这个答案确实起作用:

function bloom_custom_posts_per_page( $query ) {
  if( !is_admin() && $query->query_vars[\'post_type\'] == \'post_type\') {
     $query->query_vars[\'posts_per_page\'] = -1;
     return $query;
  }
}
add_filter( \'pre_get_posts\', \'bloom_custom_posts_per_page\' );

SO网友:T.Todua

如果您自己在这些.php 页面,那么最好通过-1 在获得无限职位的争论中:

$args =  array( ...... \'posts_per_page\'=>-1, .....) 
$your_query = new WP_Query($args);
如果您无权访问查询,请创建.php 文件,那么您可能需要使用较少推荐的pre_get_post 版本(影响该自定义类型的所有页面/查询),如@FFrewin建议。

相关推荐