首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >按Post类型对搜索结果排序

按Post类型对搜索结果排序
EN

Stack Overflow用户
提问于 2012-11-21 06:29:08
回答 1查看 2.2K关注 0票数 0

我正在努力弄清楚如何按post类型对搜索结果进行排序。我问了wordpress堆栈交换的问题,有人试图回答,但我想他们不明白我想要实现什么。-- https://wordpress.stackexchange.com/questions/72914/search-results-sorted-by-post-types

例如,当一个人在页面上搜索一个带有结果的词时,会显示从所有post类型中找到的所有>帖子,但是顶部会显示不同的post类型名称>链接,它们将对结果进行排序,并且只显示相应的post类型的post。现在,我在搜索结果页面上为每个post类型设置了几个循环,但是当我测试它时,>循环都显示相同的结果,尽管每个循环对不同的post类型有一个查询。

我的搜索页面代码- http://pastebin.com/L9zEw1cn

这比第一个循环<?php global $wp_query; $total_results = $wp_query->found_posts; ?> This is the first loop <?php if(have_posts()) : ?> <?php while(have_posts()) : the_post() ?> //My divs// <?php endwhile; endif; ?> <?php wp_reset_postdata(); ?>略高一点

然后是第二个循环,除了post类型名称- <?php $args = array( 'post_type' => 'videos', 's' => $s ); ?> <?php if(have_posts()) : ?> <?php while(have_posts()) : the_post() ?> //My divs <?php endwhile; endif; ?> <?php wp_reset_postdata(); ?>之外,其他所有循环都是相同的。

如何修复它,以便每个循环只显示该post类型的搜索结果?

EN

回答 1

Stack Overflow用户

发布于 2012-11-21 08:16:47

尝试在第二个循环中使用get_posts

代码语言:javascript
复制
$args = array(
  'post_type'=> 'videos',
  'numberposts' => -1,
  's' => $s
);
$videos = get_posts( $args );
foreach( $videos as $post ) : setup_postdata($post);
    // My divs
endforeach;

posts

编辑:在参数中添加“数字帖子”。

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

https://stackoverflow.com/questions/13487594

复制
相关文章

相似问题

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