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

Wordpress元查询

公羊宇定
2023-03-14

我在wp_query,我需要你的帮助。

我有3个自定义字段,分别称为“议程日”、“议程月”、“议程年”,表示事件的日期、月份和年份。

我想按日、月、年顺序排列查询结果。

下面是我的问题:

$query_agenda = new WP_Query(
    array(
        'posts_per_page' => 8, 
        'cat' => 4, 
        'meta_query' => 
            array(
                'relation' => 'AND', 
                'day' => array('key' => 'Agenda_day', 'compare' => 'EXISTS'), 
                'month' => array('key' => 'Agenda_month', 'compare' => 'EXISTS'), 
                'year' => array('key' => 'Agenda_year', 'compare' => 'EXISTS')
            ), 
        'orderby' => array('day' => 'ASC', 'month' => 'ASC', 'year' => 'ASC')
    )
);

这不起作用。。。你能解释一下原因并告诉我怎么修理吗?

非常感谢。

编辑

这是已执行的查询(返回结果,但顺序不正确)

选择SQL_CALC_FOUND_ROWSwp_posts。ID从wp_posts离开加入wp_term_relationships(wp_postsID=wp_term_relationships.object_id)内部加入wp_postmeta(wp_posts。ID=wp_postmeta.post_id)内部连接wp_postmeta为mt1 ON(wp_posts。ID=mt1.post_id)内部连接wp_postmeta为mt2 ON(wp_posts。ID=mt2.post_id)其中1=1 AND(wp_term_relationships.term_taxonomy_id(4))AND(wp_postmeta.meta_key=Agenda_jourmt1.meta_key=Agenda_moismt2.meta_key=Agenda_annee)和wp_posts.post_type=发布和(wp_posts.post_status=发布或wp_posts.post_status=私人)按wp_posts分组。ID ORDER BY CAST(wp_postmeta.meta_valueas CHAR)ASC, CAST(mt1.meta_valueas CHAR)ASC, CAST(mt2.meta_valueas CHAR)ASC LIMIT 0,8

共有2个答案

宋鸿德
2023-03-14

问题解决了!

>

  • 我在处理自定义字段中的不同格式:有些日期和月份在1个字符上("6"),有些在2个字符上("06"),所以系统不能很好地排序

    第二点是,在处理日期时,我必须将“orderby”指令从“日、月、年”重新排序为“年、月、日”

  • 东龙野
    2023-03-14

    https://codex.wordpress.org/Class_Reference/WP_Query https://codex.wordpress.org/Class_Reference/WP_Meta_Query

    请检查以上两个链接,你会得到你的答案和你的orderby论点,你通过它是错误的

     类似资料:
    • 如果s/he在元值数组中,我很难查询当前用户的cpt。 返回false或空数组。取决于之前是否设置过字段。 我试过将compare设置为相等,但也不起作用。可能是因为该值位于数组中。 查询应返回在键中具有当前用户id的所有帖子。 重要提示: 允许用户的

    • 我有一篇有三个元域的帖子。 我想查询这个类别,并根据其中一个的元字段值对帖子进行排序。我现在使用的参数是: 其中times是元字段的名称。上面的代码没有返回任何内容。

    • 我尝试做一个mysql查询,从wp_posts中选择所有的帖子,从中选择post_title和post_content,然后选择表wp_postmeta并显示meta_value,其中meta_key等于“_wp_attached_file”。 我试过这样做: 查询应该显示所有的post以及它是否有一个等于'_wp_attached_file'的meta_key。然后show meta_value

    • 我目前在wordpress网站上有一个基于复选框的搜索和筛选。 基本上,它使用这个wp_查询工作 我想远离使用类别(因为这让使用博客很痛苦) 所以我现在已经使用自定义分类法设置了所有内容,并注意到没有“taxonomy__and”。 有没有人知道一种使用WP_查询的方法来搜索使用分类法的帖子,就像category_u和and一样? 例如。我传递了多个分类法id,它只返回所有链接的帖子。

    • 我正在wordpress中运行wpdb select查询,并从文本框中获取其参数。只要我按下搜索按钮,结果就会显示出来。但是我想在不刷新页面的情况下对ajax做同样的操作。我尝试了所有的方法,但是页面仍然刷新。 下面是我的代码 //Jquery代码 html //php函数 下面是我使用过的其他php代码 PHP代码 下面是加入jQuery页面的代码 谢谢大家,并向…致意!

    • 我尝试使用多个自定义字段显示结果,同时按第一个自定义字段(startdate)排序结果。我看到的建议让我尝试了以下方法: 问题是,如果没有meta_key参数,结果会默认过滤帖子的日期。当我添加meta_key参数对结果进行排序时,我得到的每一篇文章都有一个meta_key等于开始日期。通过添加这些meta_key参数,语句似乎完全忽略了meta_query数组中的条件。我如何让查询排序的开始日期