关于META_KEY及其数组值的WP_QUERY

时间:2017-12-13 作者:JJang

我正在用wordpress开发代码。由于缺乏能力,我遇到了一些麻烦。

在我的wordpress中构建这个提问部分custom-post-type : book // 这是我的自定义帖子类型
  • meta_key : date_all // 这是我的“书”的meta\\u键
  • meta_value : array(\'year\' => \'2012\', \'month =>\'3\', \'date\' => \'23\', \'dw\' => \'2\')
  • 和其他一些书籍帖子(我的自定义帖子类型)。我正在尝试查询图书帖子,其对应条件如下:

    • meta_key : date_all
    • meta_value : year = 2018 &;month = 3
    • compare : >= 或者“在”之后,我正在编写一些代码。但我不知道如何表达“meta\\u值”。因为这是数组值。

      $args = array(
                  \'post_type\' => \'book\',
                  \'posts_per_page\' => -1,
                  \'meta_key\' => \'date_all\',
                  \'meta_value\'   => ????????,
                  \'compare\' =>  \'>=\',
              );
      
      $query = new WP_Query($args);
      while($query->have_posts() ) : $query->the_post();
      the_title(); ?>
      endwhile; wp_reset_query();
      
      你能帮点忙吗?

    1 个回复
    SO网友:Sid

    Try this

    $args = array(
        \'post_type\'   => \'book\',
        \'posts_per_page\' => -1,
    );
    
    $query = new WP_Query($args);
    while($query->have_posts() ) : $query->the_post();     
       $date = get_post_meta( get_the_ID(), \'date_all\', true );
       if($date[\'year\'] >= 2018 && $date[\'month\'] == 3){
            the_title();
       }
    endwhile; wp_reset_query();
    
    结束