WordPress 批量移动分类,把某个“标签”的文章批量追加到某个“分类”

标签 ⇢ 分类

WP-CLI 把某个“标签”的文章批量追加到某个“分类”(不移除原有分类)

单个标签 → 分类

WP_PATH="/usr/local/lsws/Example/html/wordpress"

# 把标签 Linux 下的所有文章追加到分类 linux
wp post list --post_type=post --tag="Linux" --field=ID --path="$WP_PATH" --allow-root \
| xargs -r -I % wp post term add % category "linux" --path="$WP_PATH" --allow-root

多个标签 → 分类(推荐)

一次性处理多个映射,不必重复跑命令:

WP_PATH="/usr/local/lsws/Example/html/wordpress"

declare -A MAP=(
  [Linux]=linux
  [MySQL]=mysql
  [Python]=python
)

for TAG in "${!MAP[@]}"; do
  CAT="${MAP[$TAG]}"
  echo "===> 标签 $TAG → 分类 $CAT"
  wp post list --post_type=post --tag="$TAG" --field=ID --path="$WP_PATH" --allow-root \
  | xargs -r -I % wp post term add % category "$CAT" --path="$WP_PATH" --allow-root
done

验证分类数量

跑完以后,可以随时验证:

wp term list category --fields=term_id,slug,count --path="$WP_PATH" --allow-root | grep -E 'linux|mysql|python'