使用(MySQL)查询将一类帖子转换为自定义帖子类型

时间:2016-02-18 作者:James

我正试图转换2000多个posts 使用category 属于hp_operator, 到acustom post type.

我通常使用“转换帖子类型”(aplugin) 对于这样的任务,但是posts 在这里,它不能在一个任务中处理这个问题。

也许最好在database 使用SQL query? 它应该执行以下操作:

  • 全选post 使用category term hp_op
  • 更改/转换post typehp_op (a)custom post type)

2 个回复
SO网友:Riklisci

看看这个Bulk post type conversion, 有列出的SQL/WP方法可以做到这一点。先用db拷贝自己尝试一下。

在phpMyAdmin中,有一个用于运行查询的框,称为“SQL”。您可以在此处看到演示http://demo.phpmyadmin.net/master-config/

SO网友:denis.stoyanov

我对MySQL真的很生疏,但这里有一个有用的剪报。它可能有一些错误,正如我所说,我真的生锈了(例如,先备份):

UPDATE  `wp_posts` p 
    LEFT OUTER JOIN wp_term_relationships r ON r.object_id = p.ID
    LEFT OUTER JOIN wp_term_taxonomy x ON x.term_taxonomy_id = r.term_taxonomy_id
    LEFT OUTER JOIN wp_terms t ON t.term_id = x.term_id
    SET  p.post_type =  \'new_post_type\'
    WHERE p.post_status = \'publish\'
    AND p.post_type = \'post\'
    AND t.slug = \'customcat\';
在这里new_post_type 应该是hp_opcustomcat 应该是hp_op. 虽然我认为在WP中使用内置函数更合适。在10个帖子上进行了测试,效果良好——所有特定类别的帖子都被转为自定义帖子。

p、 这个类别应该是你的类别鼻涕虫。我看到它的名字后面有一些数字。