在Wordpress前端创建帖子时添加标签

时间:2014-01-10 16:44:33

标签: php html wordpress tags custom-fields

我目前正在为我需要从前端创建帖子的网站工作。 这是我从wordpress网站的前端创建自定义帖子的代码。

<?php
   $postTitleError = '';

    if (isset($_POST['submitted']))
     {
      if(trim($_POST['postTitle']) === '')
       {
          $postTitleError = 'Please enter a title.';
          $hasError = true;
       }

    $post_information = array(
                'post_title' => wp_strip_all_tags( $_POST['postTitle'] ),
                'post_content' => $_POST['postContent'],
                'post_type' => 'product',
                'post_status' => 'publish'
                        );
    wp_insert_post( $post_information );    
  }
?>

这是我的HTML表单:

<form action="" id="primaryPostForm" method="POST">
    <!-- Title -->
    <input class="addTitle" type="text" name="postTitle" id="postTitle" class="required" />
    <!-- Description -->
    <input class="addDescription required" name="postContent" id="postContent" />
    <!-- Submit button -->
    <button type="submit"><?php _e('Add Product', 'framework') ?></button>
</form>

我在页面上显示了所有标签,但我不知道如何将它们分配到帖子中。 目前我可以使用我的代码创建帖子,但我只需要在我的帖子中添加标签。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

您是否尝试将以下内容添加到$ post_information = array():

'tags_input'=&gt;阵列( '标签中,tag1,TAG2');

所以你的代码应该是这样的:

$post_information = array( 
      'post_title' => wp_strip_all_tags( $_POST['postTitle'] ),
      'post_content' => $_POST['postContent'],
      'post_type' => 'product',
      'post_status' => 'publish',
      'tags_input' => array('tag,tag1,tag2')
);

这假设您已在自定义帖子类型中启用了标记。

参考:

  • http://www.templatemonster.com/help/wordpress-how-to-enable-and-output-post-tags-for-custom-post-types.html
  • http://stackoverflow.com/questions/10434686/wordpress-wp-insert-post-not-inserting-tags
  • http://stackoverflow.com/questions/12267422/update-and-add-tags-post-on-save-post-using-wp-update-post