set_term()

set_term() 関数の概要

set_term()関数は、WordPressには存在しません。タームを投稿に関連付けるには、代わりに wp_set_post_terms()wp_set_object_terms() 関数を使用します。これらの関数は、特定の投稿やカスタムオブジェクトにタームを設定するためのものです。以下に wp_set_post_terms() 関数の概要と使用例を説明します。

wp_set_post_terms() 関数の概要

wp_set_post_terms()関数は、指定された投稿に対してタームを設定するためのWordPress関数です。この関数を使用することで、投稿に対してカテゴリ、タグ、カスタムタクソノミーなどのタームを関連付けることができます。既存のタームを更新したり、新しいタームを追加したりすることができます。

パラメータの説明

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

  • $post_id (int) – 必須: タームを設定する投稿のIDを指定します。例: 123
  • $terms (array|string) – 必須: 設定するタームのID、名前、スラッグの配列またはカンマ区切りの文字列。例: [1, 2, 3] または 'term1, term2'
  • $taxonomy (string) – 必須: タームが属するタクソノミーの名前を指定します。例: 'category'
  • $append (bool) – オプション: trueを指定すると、既存のタームに新しいタームを追加します。falseを指定すると、既存のタームを置き換えます。デフォルトは false です。

戻り値

成功した場合、wp_set_post_terms()関数は設定されたタームのIDの配列を返します。

失敗した場合、WP_Errorオブジェクトが返されることがあります。

使用例

以下は、wp_set_post_terms()関数を使用して特定の投稿にカテゴリタームを設定する例です:

<?php
$post_id = 123; // タームを設定する投稿のID
$terms = array(1, 2, 3); // 設定するタームのIDの配列
$taxonomy = 'category'; // タクソノミーの名前

$result = wp_set_post_terms($post_id, $terms, $taxonomy);

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

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

エラーハンドリング

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

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

関連する関数

  • wp_get_post_terms(): 指定された投稿に関連付けられたタームを取得するための関数です。
  • wp_set_object_terms(): 投稿以外のオブジェクトに対してタームを設定するための関数です。
  • get_the_terms(): 指定された投稿に関連付けられたターム情報を取得するための関数です。
  • the_terms(): 指定された投稿に関連付けられたタームをリンク付きで表示するための関数です。