web-dev-qa-db-ja.com

タグを投稿に追加する

私はあちこち歩き回っていますが、 "投稿するタグを追加する" api/codexが見つかりませんでした。誰かがそれが何かを知っていますか?また、「投稿からタグを削除」。

ありがとう。

5
Prakash Raman

あなたはWordPress APIの良い塊のインデックスを見つけるでしょう ここでcodex 。欲しい関数は wp_set_post_tags() ですが、そのページから関連関数へのリンクをたどってください。

編集:これは以下のコメントごとに、投稿からタグを削除する必要があります

// $post is your post object, e.g. from: global $post;
// $target is tag you want to remove

// get an array of current tags on post
$tags = wp_get_post_tags($post->ID, array('fields' => 'names'));

// remove selected tag from array
$key = array_search($target, $tags);
if ($key !== false) {
    unset($tags[$key]);
}

// set new list of tags, without $target
wp_set_post_tags($post->ID, $tags, false);
6
webaware

新しいタグを挿入するには、 wp_insert_term() 関数を使用します。

wp_insert_term( 'post_tag', 'happy' );

それからあなたの用語を作成した後、あなたはそのように wp_set_post_terms() 関数を使ってあなたの選択のポストにそれらを追加するでしょう:

wp_set_post_terms( $post_id, 'happy', 'post_tag', true);
5
Manny Fleurmond

Googleはそれを知っています。

IDが42の投稿にカテゴリを追加するとします。

$cat_ids = array( 6,8 );
    //to make sure the terms IDs is integers:
    //$cat_ids = array_map('intval', $cat_ids);
    //$cat_ids = array_unique( $cat_ids );
wp_set_object_terms( '42', $cat_ids, 'category' );

IDが42の投稿からすべてのカテゴリを消去または削除する場合は、次の手順を実行します。

wp_set_object_terms( '42', NULL, 'category' );

wp_set_object_terms についてもっと読む - /

2
Butuzov