将帖子术语分别插入DB

时间:2014-08-22 08:36:42

标签: php wordpress term

我正在尝试将标签添加到我的视频作为条款,问题是如果我有一个视频的标签更多,它们存储在一个变量中并作为一个组传递给数据库,我需要的是每个标签单独插入数据库

现在它是这样的: 示例:

          $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

2 个答案:

答案 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
}

Demo

如果您想使用explode(),请务必使用trim()清除每个值;或者更好地说,确保你没有空字符串。