我无法判断您是否有可用的WordPress API。(这段代码是从WordPress实例中运行的,还是由WordPress数据库上的外部脚本运行的,而没有引导WordPress本身?)
如果您有WordPress API,那么很容易获得具有给定键的postETA值的所有帖子的列表。因此:
<?php
$q = new WP_Query(array(
"meta_key" => "meta_key_i_want_to_find"
));
while ($q->have_posts()) : $q->the_post();
// Do something here. E.g.: $posts[] = get_the_ID(); to collect IDs
endwhile;
wp_reset_query();
// If you just collected above, now do something with it...
同样,如果您有可用的WordPress API,您可以使用
wp_set_post_terms().
如果您没有可用的WordPress API,可以使用以下方式获取所需post数据的表示:
-- Modify to SELECT all and only the fields you intend to use.
SELECT wp_posts.ID FROM wp_posts INNER JOIN wp_postmeta ON
wp_posts.ID=wp_postmeta.post_ID WHERE (meta_key=\'meta_key_i_want_to_find\');
在ID中循环,同时手动添加类别关系。