wp_delete_term()


WordPress関数wp_delete_term()は、特定のタクソノミー用の用語(term)を削除するために使用されます。この関数は、成功時に削除された用語のIDを返します。

構文

wp_delete_term( int|string $term_id, string $taxonomy, array|string $args = array() );

引数の説明:

  • $term_id (int|string) — 削除対象の用語のIDまたはスラッグ。
  • $taxonomy (string) — 用語が属するタクソノミーのスラッグ。
  • $args (array|string) — オプションの引数(現在使用されないが、将来の拡張に備えている)。

使用例

例 1: 用語を削除

指定された用語IDを持つカテゴリ用語を削除します。

wp_delete_term( get_term_by( 'name', 'サンプル用語', 'category' )->term_id, 'category' );

例 2: タクソノミー用語を条件付きで削除

特定のカスタムタクソノミーの用語が存在する場合に削除します。

if ( term_exists( 'カスタム用語', 'custom_taxonomy' ) ) {
    wp_delete_term( get_term_by( 'slug', 'カスタム用語', 'custom_taxonomy' )->term_id, 'custom_taxonomy' );
}

例 3: データベースに基づく用語削除

特定の条件を満たす用語をデータベースクエリから取得して削除します。

$terms = get_terms( array( 'taxonomy' => 'tag', 'name__like' => '削除' ) );
foreach ( $terms as $term ) {
    wp_delete_term( $term->term_id, 'tag' );
}

例 4: 配列内の用語を一括削除

複数の用語IDを一括削除します。

$term_ids = array( 12, 34, 56 );
foreach ( $term_ids as $id ) {
    wp_delete_term( $id, 'category' );
}

例 5: 用語削除時のエラーチェック

削除操作が成功したかどうかを確認します。

$result = wp_delete_term( get_term_by( 'name', '削除テスト', 'category' )->term_id, 'category' );
if ( is_wp_error( $result ) ) {
    echo 'エラー: ' . $result->get_error_message();
} else {
    echo '削除成功: 用語ID ' . $result;
}

注意点

  • 削除する用語が他のタクソノミーで使用されている場合、そのタクソノミーからも削除される可能性があります。
  • 削除後のデータ操作を行う場合は、wp_delete_term()の返り値を確認してください。
  • 用語が削除された際に発生するアクションフックdelete_termを使用してカスタム処理を追加できます。

関連機能: