首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用WP_Query和category__and首先显示粘滞帖子

使用WP_Query和category__and首先显示粘滞帖子
EN

Stack Overflow用户
提问于 2016-09-16 17:30:28
回答 1查看 2.1K关注 0票数 2

尝试使用WP_Query和category__and显示来自多个帖子类别的常见帖子。以下是查询:

代码语言:javascript
复制
$query = array(
    'category__and' => array( 'cat-1', 'cat-2'),
    'posts_per_page' => 10,
    'paged' => $paged
    );

$cat_query = new WP_Query($query);

现在,在上面的情况下,帖子被正确获取,但粘性帖子没有首先显示。

下面的代码解决了这个问题,但是它没有执行类别post的"and“。

代码语言:javascript
复制
$query = array(
    'cat' => array( 'cat-1', 'cat-2'),
    'posts_per_page' => 10,
    'paged' => $paged
    );

上面的查询首先显示粘性帖子,但不对类别帖子执行"and“。

有没有办法满足粘帖优先和多类常见帖子的条件?

EN

回答 1

Stack Overflow用户

发布于 2016-09-20 18:05:10

您可以使用这些参数来显示粘性帖子-

代码语言:javascript
复制
$query_sticky = array(
  'category__and' => array( 'cat-1', 'cat-2'),
  'posts_per_page' => 10,
  'post__in' => get_option( 'sticky_posts' ),
  'ignore_sticky_posts' => 1,
  'paged' => $paged
);
$query_sticky = new WP_Query($query_sticky);

一旦你有了这些粘性帖子,你就可以将它们合并到主查询中-

代码语言:javascript
复制
$query->posts = array_merge($query->posts, $query_sticky->posts);
$query->post = reset($query->posts);
$query->post_count += $query_sticky->post_count;
$query->found_posts += $query_sticky->found_posts;
$query->max_num_pages = $query->found_posts / $query->get('posts_per_page');

post_count等变量是使wordpress循环正常工作所必需的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39528082

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档