在档案页面上显示从#6到#20的帖子

时间:2018-09-19 作者:JDRay

我的客户在主页上显示了他最近的5篇帖子(摘录),然后是一个“阅读更多”链接。在存档页面上,他不想再次显示最近的5篇文章,而是想显示从#6到#20的文章。

我该怎么做?

2 个回复
SO网友:Adarsh

在查询中添加偏移量并将值设为5,因此将跳过前5个。

下面是相同的代码段

$custom_args = array(\'post_type\' => \'your custom post type name\',
\'posts_per_page\' => \'20\',
\'orderby\' => \'id\',
\'offset\'=>5,
\'order\' => \'ASC\',);
$custom_query = get_posts($custom_args);
 foreach ($custom_query as $value) {
 //your data
  }

SO网友:Hans

您可以过滤原始存档查询:

function my_archive_query( $query ) {
  if ( $query->is_archive() && $query->is_main_query() ) {
    $query->set( \'offset\', 5 );
    $query->set( \'posts_per_page\', 20 );
  }
}

add_action( \'pre_get_posts\', \'my_archive_query\' );
更多信息:

pre_get_posts filter

is_archive conditional tag

结束

相关推荐

带有WooCommerce短码查询的Pre_Get_Posts

我想添加一些额外的查询变量,并为woocommerce[产品]快捷码定制查询。我试图用pre\\u get\\u posts和posts\\u fields挂钩添加一些额外的字段和条件,但它们都不起作用。是否有其他方法可以过滤(自定义)特定于woocommerce短代码的SQL查询?