如何使用WP查询将自定义字段移动到自定义分类

时间:2014-06-08 作者:Muzza

为了避免复杂性,我将一个自定义字段(类别和术语)导入到wp\\U Posteta表中,该表链接到各个帖子。如wp\\U Posteta中所列:

meta_id post_id meta_key                meta_value
183     45      job_listing_region      Kingston
208     46      job_listing_region      Fajardo
233     47      job_listing_region      Letchworth
258     48      job_listing_region      Oxford
283     49      job_listing_region      Beaulieu-sur-Mer
使用SQL查询如何将它们移动到分类;下表的术语?

wp_term_relationships
wp_term_taxonomys
wp_terms
我发现表关系有点混乱,在这个实例中是加入还是更新。下面是一篇很好的参考文章,供知道自己在做什么的人参考。提前谢谢Murray

SQL to update custom post taxonomies

1 个回复
SO网友:Dan Phiffer

我建议使用WordPress函数调用来设置术语,而不是SQL。这是假设你已经registered 一种称为job\\u listing\\u region的自定义分类法。

// Add this to your theme\'s functions.php
function convert_meta_to_term() {
  global $wpdb;
  $meta_query = $wpdb->get_results("
    SELECT *
    FROM $wpdb->postmeta
    WHERE meta_key = \'job_listing_region\'
  ");
  foreach ($meta_query as $meta) {
    // Append new terms for each post
    wp_set_object_terms($meta->post_id, $meta->meta_value, \'job_listing_region\', true);
  }
}
add_action(\'wp_ajax_convert_meta_to_term\', \'convert_meta_to_term\');
现在您可以通过转到URL调用此函数http://your-blog.tld/wp-admin/admin-ajax.php?action=convert_meta_to_term.

结束

相关推荐

使用新的WP-Query()从循环中过滤后期格式;

嗨,我目前正在为我的博客构建一个主题。下面的代码指向最新的帖子(特色帖子)。因为这将有一个不同的风格比所有其他职位。然而我想过滤掉帖子格式:链接使用我在循环中定义的WP查询,因为它给我带来了更多的灵活性。我该怎么做呢? <?php $featured = new WP_Query(); $featured->query(\'showposts=1\'); ?> <?php while ($featured->have_post