WP_SET_POST_TERMS仅将几个术语中的最后一个分配给帖子

时间:2012-09-29 作者:Marc

我有一个非常简单的设置,在这里我循环遍历一组演员,并为每个演员的名字成功地插入一个术语。然后,我使用wp\\u set\\u post\\u terms将这些术语分配给一篇文章,但这只会将最后一个术语分配给该文章。我不熟悉使用分类法/术语,所以可能有一个明显的解决方案。这是我的代码:

foreach ($cast as $actor) {

    $actor_term_id = wp_insert_term( $actor[name], \'actor\', array(
        \'description\' => $bio[0]["desc"]
        )
    );

    // Assign term id to post
    wp_set_post_terms( $post_id, $actor_term_id, \'actor\' );

}

1 个回复
最合适的回答,由SO网友:NightHawk 整理而成

您需要向函数发送第四个参数:

wp_set_post_terms($post_id, $actor_term_id, \'actor\', true);
每次执行该函数时,您都在替换任何现有术语。第四个参数指定要附加它们。

https://codex.wordpress.org/Function_Reference/wp_set_post_terms

结束

相关推荐

WP_SET_OBJECT_TERMS是否创建与修订的关系?

我有一个自定义的帖子类型“albums”。它是一种分类法,“album\\u artist”。我试图通过编程将艺术家添加到该分类法中,在一个连接到save\\u post的函数中使用wp\\u set\\u object\\u术语。function get_album_data($post_id) { // CODE REMOVED FOR BREVITY: IMPORT DATA FROM EXTERNAL SOURCE, PARSE VARS wp_set_object