3
更新,代碼現在工作。wordpress - 自動插入術語slu as作爲標記上保存
我有下面的代碼,但遺忘它不能按預期工作。它應該將TAXONOMY_NAME分類中的術語僅用於自定義帖子類型CUSTOM_POST_TYPE並添加爲標籤。
add_action('save_post','add_tags_auto');
function add_tags_auto($id) {
$terms = get_the_terms($post->id, 'TAXONOMY_NAME'); // get an array of all the terms as objects.
$add_tags = array();
foreach($terms as $term) {
$add_tags[] = $term->slug; // save the slugs in an array
}
$temp = array();
$tags = get_the_tags($id);
if ($tags) {
foreach ($tags as $tag)
$temp[] = $tag->name;
}
$tags = $temp;
$post = get_post($id);
if ($post->post_type != 'CUSTOM_POST_TYPE')
return false;
foreach ($add_tags as $t)
if (!in_array($t,$tags))
wp_add_post_tags($id,$add_tags);
}
是否有限制添加標籤的數量 –
是的,您可以退出調用'$ tagsToAdd [] = $ term-> slug;'的foreach。假設你有一個變量,稱之爲'$ iMaxTags'(例如你可以從數據庫中填充它),循環中的條件變成'if($ i <$ iMaxTags &&!in_array($ term-> slug,$標記名))';那麼還要記住將foreach更改爲'as $ i => $ term'。 – quickshiftin
但是,請注意,這是限制它們的一種相當粗糙的方式。一個實際的解決方案可能會試圖更加智能地過濾它們,這種或那種方式。 – quickshiftin