Order by 在自定义帖子类型的 wordpress 自定义查询中不起作用

问题描述 投票:0回答:1

我正在使用 ACF Pro Repeater 字段,我在数据库中的自定义字段名称是 seminars_details_0_start_date、seminars_details_1_start_date 等等

这是我使用的代码

function my_posts_where( $where ) {
            $where = str_replace("meta_key = 'seminars_details_$", "meta_key LIKE 'seminars_details_%", $where);
            return $where;
          }
          add_filter('posts_where', 'my_posts_where');
          $args = array(
           // 'numberposts' => ,
            'posts_per_page'=> '-1',
            'post_type'   => 'training',
            'meta_key'      => 'seminars_details_$_start_date',
            'orderby'     => 'meta_value',
            'order'       => 'DESC',
            'meta_query'  => array(
              'relation'    => 'OR',
             array(
                'key'   => 'seminars_details_$_start_date',
                'value'   => array('20230101'  , '20231231'),
                'compare' => 'BETWEEN',
                'type'    => 'NUMERIC',
              ),
            )
          );

          $the_query = new WP_Query( $args );
wordpress advanced-custom-fields repeater
1个回答
0
投票

首先,您的代码中存在一些缺陷。尝试用下面的代码替换 $args-

$args = array(
            

        // 'numberposts' => ,
                'posts_per_page'=> -1,   // number cannot be in quotes 
                'post_type'   => 'property',
                'meta_query'  => array(
                  
                    array(
                   'key'   => 'seminars_details_$_start_date',
                    'value'   => array('20230101'  , '20231231'),
                    'compare' => 'BETWEEN',
                    'type'    => 'NUMERIC',
                   ),
                   )
              );
    $args['meta_key'] = 'seminars_details_$_start_date';
    $args['order_by'] = 'meta_value_num';
    $args['order'] = 'DESC';
© www.soinside.com 2019 - 2024. All rights reserved.