我为我的帖子创建了一个元框,它可以保存三个值 0、1、2 之一。使用选择控件选择该值。
我也检查了我的数据库记录,元数据存储在数据库中,但我无法查询元值。
我用来查询包含元值的帖子的代码如下:
$args = array(
'category__in' => array(
22
),
'posts_per_page' => 1,
'meta_query' => array(
array(
'key' => 'postStatus',
'value' => 1,
'compare' => '='
)
)
);
$extremely_important = new WP_Query($args);
while($extremely_important->have_posts())
{
$extremely_important->the_post();
the_title();
}
确切的问题是返回类别 22 的帖子,但返回最新的帖子,即没有将元值设置为 1。
有什么想法吗?
这是我在 SQL 插入语句中的 postmeta 表中的数据:
/*
-- Query: SELECT * FROM wp_postmeta WHERE post_id = 187754
LIMIT 0, 1000
-- Date: 2013-02-14 09:50
*/
INSERT INTO `wp_postmeta` (`meta_id`,`post_id`,`meta_key`,`meta_value`) VALUES (16847,187754,'_edit_last','1');
INSERT INTO `wp_postmeta` (`meta_id`,`post_id`,`meta_key`,`meta_value`) VALUES (16848,187754,'_TIP_protect_images_post','unchecked');
INSERT INTO `wp_postmeta` (`meta_id`,`post_id`,`meta_key`,`meta_value`) VALUES (16849,187754,'_TIP_protect_text_post','unchecked');
INSERT INTO `wp_postmeta` (`meta_id`,`post_id`,`meta_key`,`meta_value`) VALUES (16850,187754,'_thumbnail_id','166897');
INSERT INTO `wp_postmeta` (`meta_id`,`post_id`,`meta_key`,`meta_value`) VALUES (16851,187754,'_fpp_is_scheduled','');
INSERT INTO `wp_postmeta` (`meta_id`,`post_id`,`meta_key`,`meta_value`) VALUES (18502,187754,'_edit_lock','1360791749:1');
INSERT INTO `wp_postmeta` (`meta_id`,`post_id`,`meta_key`,`meta_value`) VALUES (18503,187754,'post_status','extremely_important');
INSERT INTO `wp_postmeta` (`meta_id`,`post_id`,`meta_key`,`meta_value`) VALUES (18504,187754,'postStatus','1');