Php WordPress批量分类使用MySQL添加到所有帖子

Php WordPress批量分类使用MySQL添加到所有帖子,php,mysql,sql,wordpress,bulk,Php,Mysql,Sql,Wordpress,Bulk,我必须将我所有的旧帖子添加到新创建的类别中,并保留帖子所在的类别。我试着通过wordpress编辑按钮来做,但每页只有20篇文章,而且有100多页。所以我想知道是否有一个MySQL代码片段可以执行并立即将该类别添加到帖子中???好的,下面是代码 <?php $args = array( 'numberposts' => -1, 'orderby' => 'post_date' ); $postslist = get_posts( $args ); foreach ($posts

我必须将我所有的旧帖子添加到新创建的类别中,并保留帖子所在的类别。我试着通过wordpress编辑按钮来做,但每页只有20篇文章,而且有100多页。所以我想知道是否有一个MySQL代码片段可以执行并立即将该类别添加到帖子中???

好的,下面是代码

<?php
$args = array( 'numberposts' => -1, 'orderby' => 'post_date' );
$postslist = get_posts( $args );
foreach ($postslist as $post) :  setup_postdata($post);
$post_id = get_the_ID();

$cat_id = 99;
if ( !(in_category($cat_id)) ) {
    wp_set_object_terms( $post_id, array( $cat_id), 'category', false);
    echo 'No';
}else{

}
endforeach;
?>


代码在所有帖子和页面上运行一个循环,并检查类别ID是否未添加到帖子或页面中。如果未添加,则将类别ID添加到帖子或页面。

单击屏幕选项,在文本框中键入您希望一次看到的帖子数量,然后应用。谢谢,但我有一个:noob:问题。我应该把它放在哪里?!在任何地方,我都在index.php中测试了这一点,别忘了在类别添加到POSTSdamn之后删除代码。脚本删除了帖子中的所有类别,并将它们仅放在新类别中。--“这一点也不酷。@未知,您没有考虑
wp\u set\u object\u terms()的最后一个参数
$append
。它默认为
false
,这意味着你给他的代码将用指定的类别替换与每篇文章相关的所有其他类别。你可能想重新了解一下它的工作原理:谢谢Spencer,我修改了脚本。