我正在尝试根据自定义字段查询帖子,然后在循环中显示它们。我检查并仔细检查了我的代码与codex和其他来源,但查询仍然似乎没有工作。我做错了什么?
根据要点,我的代码如下所示:
<?php
$args = array(
'meta_key' => 'my_custom_field'
);
$my_query = new WP_Query( $args );
?>
<?php if ( $my_query->have_posts() ) { ?>
<p>Success, we have posts!!!</p>
<?php } else { ?>
<p>Uh Oh, No posts!!!</p>
<?php } ?>
条件语句正在逐渐退出并返回“呃哦,没有帖子”。
我检查过postmeta表,肯定有包含meta_key _my_custom_field
的帖子。我已尝试使用和不使用前导下划线查询。
我做错了什么?
答案 0 :(得分:1)
我用它来搜索自定义帖子类型“porfolio”中两个自定义日期字段之间的日期,我认为你处于类似情况:
$args = array(
'post_type' => 'portfolio',
'posts_per_page' => '10',
'meta_query' => array(
array('key' => 'portfolio_start_date', 'value' => data_to_db2($ricerca_data), 'compare' => '<=', 'type' => 'NUMERIC'),
array('key' => 'portfolio_end_date', 'value' => data_to_db2($ricerca_data), 'compare' => '>=', 'type' => 'NUMERIC')
)
);
$the_query = new WP_Query( $args );
if ( $the_query->have_posts() ) {
$post_count = wp_count_posts();
while ( $the_query->have_posts() ) {
// DO WHAT YOU WANT
}
}
我的建议是在$ args数组中使用meta_query