如何查询Wordpress中的自定义字段?
问题描述:
我试图查询基于自定义字段的帖子,然后在循环中显示它们。我已经检查了代码和其他来源,并对代码进行了重复检查,但查询仍然无法正常工作。我究竟做错了什么?如何查询Wordpress中的自定义字段?
剥离下来的要领,我的代码看起来是这样的:
<?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
的帖子。我已经尝试了使用和不使用前导下划线的查询。
我在做什么错?
答
我用这个搜索两个自定义日期字段之间的日期在我的自定义后键入“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
}
}
我的建议是在$使用meta_query args array
感谢firegab,我试过这种方法,但仍然没有成功。如果我删除meta_query,并且只查询例如post_type,函数返回预期的帖子。所以在设置或查询元键时必定会出现错误。我不确定如何调试这个。有什么建议?你的mysql表中的 –
wp_postmeta字段结果保存是否正确? – Firegab
嗨firegab,是的,它被正确保存。我只是尝试使用此自定义字段创建多个帖子和页面,并突然查询正在工作。对于改变了什么感到困惑,但现在正在开展工作。感谢您的帮助 –