当前位置: 首页 > 知识库问答 >
问题:

WP_查询不按标题排序

季城
2023-03-14

我尝试获取所有按标题升序排列的帖子(具有特定自定义类型),但SQL查询生成的是post_date之后的订单。代码:

$my_query = new WP_Query( 
   array(
      'post_type' => 'member',
      'posts_per_page' => -1,
      'orderby' => 'title',
      'order' => 'ASC',
    ) 
  );

while ($my_query->have_posts()) {
    $my_query->the_post();
    // get post excerpt
    get_template_part('content/'.get_post_type());
    // wikiwp_get_post_excerpt($post);
}

查询:

选择wp_posts。*从wp_posts其中1=1和wp_posts.post_type='成员'和(wp_posts.post_status='发布'或wp_posts.post_status='关闭'或wp_posts.post_status='私人'或wp_posts.post_status='隐藏')wp_posts.post_dateASC

我真的不明白为什么会这样。我停用了大部分插件,尝试了不同的组合,但没有成功。

$my_查询:

WP_查询对象([Query]=

共有3个答案

荀俊迈
2023-03-14

请使用以下代码:

$my_query = new WP_Query( 
   array(
      'post_type' => 'member',
      'post_status' => 'publish',
      'posts_per_page' => -1,
      'orderby' => 'title',
      'order' => 'ASC'
    ) 
  );

您在ASC之后添加了,所以我认为问题是。然后,$my_query是数组所在的位置,所以只需像下面这样循环,即可获得所需的结果。

while($my_query->have_posts()) : $my_query->the_post();
//Your post code here to get post attributes
endwhile;wp_reset_query(); 
孔山
2023-03-14

我也面临同样的问题。我用“post_title”而不是“title”解决了这个问题。

$my_query = new WP_Query( 
   array(
      'post_type' => 'member',
      'post_status' => 'publish',
      'posts_per_page' => -1,
      'orderby' => 'post_title',
      'order' => 'ASC'
    ) 
  );
罗伟兆
2023-03-14

您的代码看起来是正确的。我将查看您是否在其他地方有任何代码,例如更改您创建的查询输出的过滤器。听起来您可能有类似的内容,因为您的post循环是正确的。

$args = array(
    'post_type' => 'member',
    'posts_per_page' => '-1',
    'order' => 'ASC',
    'orderby' => 'title',
);

$my_query = new WP_Query( $args );

if ( $my_query->have_posts() ) {
    while ( $my_query->have_posts() ) {
        $my_query->the_post();

        get_template_part('content/'.get_post_type());
    }
}

wp_reset_postdata();
 类似资料:
  • 我想让下面的代码对我的自定义posttype(产品类型)进行排序。因此,我的活动页面将只显示“油”一词的帖子,而不是“燃料”和“轮胎”。 //编辑,作为对以下3个答案的回复 我假设foreach循环是WP_查询方法的替代,但是tax_查询对我来说是新的,现在我知道它存在,我在codex中查找了它,但是它仍然不起作用。我诚实地认为,这就像我在tax_查询中错误地命名一样简单,因此我将在这里显示我的分

  • 我的查询没有使用参数对我的帖子进行排序。 一点背景: 我在foreach语句中,该语句循环遍历“category”id的自定义分类法。在该foreach语句中,我试图调用一个新的WP_查询,从该foreach循环的每个“类别”获取帖子。我的args数组如下所示: 和都是此post\u类型中我的自定义分类中的数组。 和根本不起作用,我想不出原因。

  • 我被一个简单的问题困住了;如何在ed实体上调用。基本上,我正试图通过JPA标准实现以下目标: 我有以下几点: 如何通过d.name,c.name使用来实现

  • 问题内容: 我正在尝试做一个标准查询,该查询返回像常见问题一样的stackoverflow中回答最多的问题。 一个问题包含多个答案。 我试图以标准查询返回按每个问题的答案数排序的最常回答的问题。 有人知道我应该在hibernate标准util中使用什么吗? 问题答案: 这将返回一个Object []列表。每个Object []都将问题的ID作为第一个元素,并将此问题的答案数目作为第二个元素。问题按

  • 我有一种不同的邮政订单,我试图返回,但我找不到任何有答案的地方。我使用wp_query尝试按元值列表排序帖子。然而,非标准orderby选项做什么,我试图实现。 我的元值存储为逗号列表字符串,如下所示: 1, 5, 10, 3, 21, 6 然后我获取这些值并将其分解为如下数组: 我做了一个标准的wp_query,但问题是,我试图按照我的$banner_nums变量中的实际顺序来排列这些帖子的显示

  • 问题内容: 谁能指出我如何将order by子句作为命名参数传递给HQL? 有效的示例: 无效的示例: 问题答案: 不支持,只能在and 子句中使用输入参数,并且不能为子句使用参数。或者,如果我改写,您不能对列使用参数,只能对值使用。因此,要么: 有尽可能多的命名查询排序顺序 将排序字符串连接到查询字符串 使用条件查询