【问题标题】:Wordpress meta query failingWordpress 元查询失败
【发布时间】:2018-09-03 08:37:59
【问题描述】:

在下面得到了这个代码,它没有返回任何帖子

我有一个名为 advertentiecategorie 的自定义字段,在多个帖子中的值为 2

<?php 
$blog_category = get_queried_object();

$args = array('post_type' => array( 'post' ),
'order'             =>  'DESC',
'orderby'           =>  'post_date',
'meta_query' => array(
    'relation' => 'AND',
     array(

         array(
             'key'       => 'advertentiecategorie',
             'value'     => 2,
             'compare'   => '=',
         )
    )
)
);

// query
$the_query = new WP_Query( $args );
?>
<?php if( $the_query->have_posts() ): ?>
<ul>
<?php while( $the_query->have_posts() ) : $the_query->the_post(); ?>
    <li>
        <a href="<?php the_permalink(); ?>">
            <img src="<?php the_field('event_thumbnail'); ?>" />
            <?php the_title(); ?>
            [<?php print_r(get_field('advertentiecategorie')[0]); ?>]
        </a>
    </li>
<?php endwhile; ?>
</ul>

在尝试不使用元查询代码时它会起作用,如果我删除它就会起作用:

'meta_query' => array(
    'relation' => 'AND',
     array(

         array(
             'key'       => 'advertentiecategorie',
             'value'     => 2,
             'compare'   => '=',
         )

知道我做错了什么吗? 谢谢!

【问题讨论】:

    标签: wordpress meta-query


    【解决方案1】:

    您正在为元值使用一个额外的数组

    请使用下面的代码

    $args = array('post_type' => array( 'post' ),
    'order'             =>  'DESC',
    'orderby'           =>  'post_date',
    'meta_query' => array(
    'relation' => 'AND',
         array(
             'meta_key'       => 'advertentiecategorie',
             'meta_value'     => 2,
             'meta_compare'   => '=',
         )
    )
    );
    

    【讨论】:

    • 嗨,谢谢,现在它返回我在 postmeta 表中查看的所有帖子,并且存储的值不是“2”,而是作为数组:a:1:{i:0;s:1: "2";} 使用 ACF(高级自定义字段)插件设置额外字段。有什么建议吗?
    • @quokka 请更改 ACF(高级自定义字段)中该字段的设置。将此字段保存为单个值而不是数组或对象..
    猜你喜欢
    • 2019-04-02
    • 2020-04-19
    • 2013-03-20
    • 2011-02-27
    • 2016-01-06
    • 2012-07-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多