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()
: 指定された投稿に関連付けられたタームをリンク付きで表示するための関数です。