首页 视频课程 主题开发课程第12章、分类法 WordPress移动文章到指定分类法

WordPress移动文章到指定分类法

2023-06-11 / 248阅

  1. 首先设置需要移动的文章的ID和目标分类法的ID:
$my_post_id = 123; // 替换成需要移动的文章的ID
$target_term_id = 456; // 替换成目标分类法的ID 
  1. 获取当前文章的分类法信息并找到需要移动的分类项:
$terms = wp_get_post_terms( $my_post_id, 'category' );
foreach ( $terms as $term ) {
    if ( $term_id == $target_term_id ) {
        // 如果文章已经在目标分类法中,不需要再移动
        return;
    }

    if ( in_array( $term_id, $terms_to_remove ) ) {
        // 如果文章有多个分类法,找到需要移动的那个分类项
        $term_to_remove = $term;
        break;
    }
} 
  1. 从当前分类法中移除需要移动的分类项:
wp_remove_object_terms( $my_post_id, $term_to_remove->term_id, 'category' ); 
  1. 将文章添加到目标分类法中:
wp_set_object_terms( $my_post_id, $target_term_id, 'category' ); 

完整示例代码:

$my_post_id = 123; // 替换成需要移动的文章的ID
$target_term_id = 456; // 替换成目标分类法的ID

// 获取当前文章的分类法信息并找到需要移动的分类项
$terms = wp_get_post_terms( $my_post_id, 'category' );
foreach ( $terms as $term ) {
    if ( $term_id == $target_term_id ) {
        // 如果文章已经在目标分类法中,不需要再移动
        return;
    }

    if ( in_array( $term_id, $terms_to_remove ) ) {
        // 如果文章有多个分类法,找到需要移动的那个分类项
        $term_to_remove = $term;
        break;
    }
}

// 从当前分类法中移除需要移动的分类项
wp_remove_object_terms( $my_post_id, $term_to_remove->term_id, 'category' );

// 将文章添加到目标分类法中
wp_set_object_terms( $my_post_id, $target_term_id, 'category' ); 

阅读文章或者观看视频过程中有任何问题,请下方留言或者联系我Q248758228

大家谈论
    我的见解
    目录