在前端帖子提交表之后,不能分配除未分类之外的其他类别吗?

时间:2012-01-27 作者:janoChen

我正在使用我从this 问题:

<?php 

$postTitle = $_POST[\'post_title\'];
$post = $_POST[\'post\'];
$submit = $_POST[\'submit\'];
$category = $_POST[\'cat\'];

if(isset($submit)){

    global $user_ID;

    $new_post = array(
        \'post_title\' => $postTitle,
        \'post_content\' => $post,
        \'post_status\' => \'publish\',
        \'post_date\' => date(\'Y-m-d H:i:s\'),
        \'post_author\' => $user_ID,
        \'post_type\' => \'post\',
        \'post_category\' => $category
    );

    wp_insert_post($new_post);

}

?>
<!DOCTYPE HTML SYSTEM>
<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>Untitled Document</title>
</head>

<body>
<div id="wrap">
<form action="" method="post">
<table border="1" width="200">
  <tr>
    <td><label for="post_title">Post Title</label></td>
    <td><input name="post_title" type="text" /></td>
  </tr>
  <tr>
    <td><label for="post">Post</label></td>
    <td><input name="post" type="text" /></td>
  </tr>
  <tr>
    <td><label for="post_category">Category</label></td>
    <td><?php wp_dropdown_categories(\'show_count=1&hierarchical=1&hide_empty=0\'); ?></td>
  </tr>
</table>

<input name="submit" type="submit" value="submit" />
</form>
</div>

</body>
</html>
现在,我正在尝试添加“类别”字段:

文件顶部:

$category = $_POST[\'cat\'];
The$post 阵列:

 \'post_category\' => $category
组成部分:

<?php wp_dropdown_categories(\'show_count=1&hierarchical=1&hide_empty=0\'); ?>
下拉菜单的HTML会显示出来,但当我选择另一个类别(如作业)时,帖子会以未分类的形式发布。

有什么建议可以解决这个问题吗?

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

From the Codex:

类别需要作为array of integers 与数据库中的类别ID匹配。即使只有一个类别分配给该职位,情况也是如此。

当前,您给它一个类别ID的字符串。

尝试:

$category = array(intval($_POST[\'cat\']));

结束