我正在尝试将标签添加到我的视频作为条款,问题是如果我有一个视频的标签更多,它们存储在一个变量中并作为一个组传递给数据库,我需要的是每个标签单独插入数据库
现在它是这样的: 示例:
$tags = #tag1 #tag2 #tag3
wp_insert_term( $tags, 'post_tag');
在db中它看起来像
term_id name slug
1 #tag1 #tag2 #tag3 tag1-tag2-tag3
我需要它像这样
term_id name slug
1 #tag1 tag1
2 #tag2 tag2
3 #tag3 tag3
答案 0 :(得分:0)
试试这个:
$tags = "#tag1 #tag2 #tag3";
$tagsArray = explode(" ", $tags);
foreach($tagsArray as $tag)
{
wp_insert_term( $tag, 'post_tag');
}
答案 1 :(得分:0)
Wordpress不知道你的意图是什么,所以
$tags = '#tag1 #tag2 #tag3'
实际上是一个变量。所以,说不同,试试下面的片段
$tags = array('#tag1', '#tag2', '#tag3', '#tag4', '#tag5');
foreach($tags as $tag){
wp_insert_term(trim($tag), 'post_tag'); // just in case, use trim() for cleaning
}
如果您想使用explode()
,请务必使用trim()
清除每个值;或者更好地说,确保你没有空字符串。