wp_remove_object_terms()

wp_remove_object_terms() 関数の概要

wp_remove_object_terms()関数は、WordPressのデータベースから特定のオブジェクト(通常は投稿)に関連付けられたターム(用語)を削除するための関数です。この関数を使用することで、指定したオブジェクトIDに対してタームを削除することができます。カテゴリ、タグ、カスタムタクソノミーなどのタームをオブジェクトから削除する際に便利です。

パラメータの説明

wp_remove_object_terms()関数には、以下のパラメータを設定することができます:

  • $object_id (int) – 必須: タームを削除するオブジェクトのIDを指定します。例: 123
  • $terms (array|string) – 必須: 削除するタームのID、名前、スラッグの配列またはカンマ区切りの文字列。例: [1, 2, 3] または 'term1, term2'
  • $taxonomy (string) – 必須: タームが属するタクソノミーの名前を指定します。例: 'category'

戻り値

成功した場合、wp_remove_object_terms()関数は true を返します。

失敗した場合、WP_Errorオブジェクトが返され、エラーメッセージを取得することができます。

使用例

以下は、wp_remove_object_terms()関数を使用して特定の投稿からカテゴリタームを削除する例です:

<?php
$object_id = 123; // タームを削除するオブジェクト(投稿)のID
$terms = array(1, 2, 3); // 削除するタームのIDの配列
$taxonomy = 'category'; // タクソノミーの名前

$result = wp_remove_object_terms($object_id, $terms, $taxonomy);

if (!is_wp_error($result)) {
    echo 'タームが正常に削除されました。';
} else {
    echo 'タームの削除に失敗しました: ' . $result->get_error_message();
}
?>

この例では、IDが123の投稿から、IDが1, 2, 3のカテゴリタームを削除し、成功した場合は削除成功のメッセージを表示します。

エラーハンドリング

wp_remove_object_terms()関数の実行に失敗した場合、WP_Errorオブジェクトが返されます。エラーメッセージを取得するには、以下のようにします:

<?php
if (is_wp_error($result)) {
    echo 'エラー: ' . $result->get_error_message();
}
?>

関連する関数

  • wp_set_post_terms(): 投稿にタームを設定するための関数です。
  • wp_get_post_terms(): 指定された投稿に関連付けられたタームを取得するための関数です。
  • get_the_terms(): 指定された投稿に関連付けられたターム情報を取得するための関数です。
  • the_terms(): 指定された投稿に関連付けられたタームをリンク付きで表示するための関数です。