使用WPQuery匹配POST中的特定中继器行

时间:2020-08-14 作者:adamsuper

因此,我在post-type“properties”中有一个中继器,用于存储所有拍卖的地块号和拍卖日期。

当进入活动页面时,比如说8月12日,它需要将本次拍卖中的所有房产按无顺序列出。

当我使用WP查询时,我是这样做的:

function my_posts_where( $where ) {

  $where = str_replace("meta_key = \'auctions_$", "meta_key LIKE \'auctions_%", $where);

  return $where;
}

add_filter(\'posts_where\', \'my_posts_where\');

        $args = array (
            \'post_type\'=>\'properties\',
            \'post_status\'=>\'publish\',
            \'posts_per_page\'=> 40,
            \'paged\'=> $paged,
            \'suppress_filters\' => false,
            \'meta_query\' => array(
             \'proparray\' => array(
               \'key\' => \'auctions_$_auction_date\',
               \'value\' => $today2,
               \'compare\' => \'LIKE\',
             ),
             \'lot-nos\' => array(
               \'key\' => \'auctions_$_lot_no\',
               \'type\' => \'NUMERIC\',

            ),
        ),
       \'orderby\' => array(
          //  \'auction-dates\' => \'ASC\',
            \'lot-nos\' => \'ASC\',
        ),
          );
        $wpb_all_query = new WP_Query($args);
我的问题是,它从其他行拾取批号。因此,如果一处房产的日期如下:

拍卖日期:2020年6月7日批号:2生产日期:2020年8月12日批号:14

它将于2020年8月12日开始拍卖,但将其定为第2号地块,而不是第14号地块。我需要它与所讨论日期的特定行匹配,然后从该行中获取批号。这可能吗?

1 个回复
SO网友:Saulo Padilha

WP\\u查询将获取帖子,整个帖子。如果另一个repeater字段实例有LotNos的数据,那么sort参数将无法理解您的意思。

我要做的就是在截止日期之前拿到所有的帖子。然后我会循环并创建一个对象数组,其中包含每个帖子(title、LotNo、image等)所需的数据。比我用的还多php usort function 按LotNo对帖子进行排序。

最后,我将使用这个排序对象执行foreach()来打印数据。

相关推荐

将两个帖子放入自定义帖子类型`Single-cpt.php`

我有一个自定义的帖子类型,并且在CPT中single-cpt.php 文件我想加入两个职位,而不是一个。这两篇文章将是用户在相关档案中单击的文章,以及按日期顺序排列的下一篇文章(即WordPress的默认文章排序方法)。原因是这些帖子基本上都是小而有用的信息,有两篇帖子可以创建更好的SEO和用户体验。通常,当我想在一个归档页面上获取一定数量的帖子时,我会使用WP_Query() 和设置\'posts_per_page\' => 2 但开箱即用的方法在single-cpt.php 文件,因为这样的代码