META_QUERY未获取结果时出错

时间:2015-10-05 作者:Thirty 5Seconds

我有这个WP_Query

<?php
        $args = array(
        \'post_type\' => \'banner\',
        \'posts_per_page\' => 25 ,
        \'meta_query\' => array( \'relation\' => \'AND\',
        array(\'key\' => \'ads_status\',\'value\' => \'1\'),
        array(\'key\' => \'adsposition\',\'value\' => \'top\'))
        );
        $slide = new WP_Query( $args );
    if ( $slide->have_posts() ) : while ( $slide->have_posts() ) : $slide->the_post();  
    $yourfile = get_post_meta(get_the_ID(), \'yourfile\', true);  
    $adsposition = get_post_meta( get_the_ID(),\'adsposition\', true ); ?>
     <img src="<?php echo $yourfile; ?>" width="1350" height="515">
    <?php
endwhile; endif;
    wp_reset_query();
?>
我有两个元框(ads\\u status,adsposition),它保存在wp admin中,但在主页中没有显示任何结果,但在删除时meta_query, 它的工作和给我的结果。

错误在哪里??

1 个回复
最合适的回答,由SO网友:Robert hue 整理而成

您的查询似乎很好,应该可以运行。它不会返回结果,可能是因为您丢失了type 的参数ads_status 领域

所以你的代码应该是。

<?php
$args = array(
  \'post_type\'   => \'banner\',
  \'posts_per_page\' => 25,
  \'meta_query\'  => array(
    \'relation\'  => \'AND\',
    array(
      \'key\'     => \'ads_status\',
      \'value\'   => \'1\',
      \'type\'    => \'NUMERIC\',
    ),
    array(
      \'key\'     => \'adsposition\',
      \'value\'   => \'top\',
    ),
  ),
);
$slide = new WP_Query( $args );
if ( $slide->have_posts() ) : while ( $slide->have_posts() ) : $slide->the_post();  
$yourfile = get_post_meta(get_the_ID(), \'yourfile\', true);  
$adsposition = get_post_meta( get_the_ID(),\'adsposition\', true ); ?>
<img src="<?php echo $yourfile; ?>" width="1350" height="515">
<?php
endwhile; endif;
wp_reset_query();
?>

相关推荐

使用新的WP-Query()从循环中过滤后期格式;

嗨,我目前正在为我的博客构建一个主题。下面的代码指向最新的帖子(特色帖子)。因为这将有一个不同的风格比所有其他职位。然而我想过滤掉帖子格式:链接使用我在循环中定义的WP查询,因为它给我带来了更多的灵活性。我该怎么做呢? <?php $featured = new WP_Query(); $featured->query(\'showposts=1\'); ?> <?php while ($featured->have_post