这应该不会很复杂,所以我忍不住想我错过了什么。听起来你需要的是get_post_meta
.
$yid = get_post_meta($post->ID,\'youtube_id\',true);
if (empty($yid)) {
// not set
} else {
// set
}
编辑:
你需要一个meta_query
对于大多数WordPress-y解决方案:
$args = array(
\'post_type\' => \'post\',
\'meta_query\' => array(
array(
\'key\' => \'youtube_id\',
\'value\' => \'some_value\',
)
),
\'ignore_sticky_posts\' => true,
\'no_found_rows\' => true,
\'posts_per_page\' => 1,
\'fields\' => \'ids\',
);
$q = new WP_Query($args);
var_dump($q);
但是,您的代码很容易适应:
$different = $wpdb->get_var("SELECT meta_id FROM {$wpdb->postmeta} WHERE meta_key = \'youtube_id\' AND meta_value = \'some_value\'");
if(!empty($different)) {
echo \'Dude, we already have this post.\';
}
注:使用
$wpdb
. 这会节省你一些精力。