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