添加带有类别的列表以供选择,并将其另存为帖子的类别

我有一个解决方案,可以使用户现在可以在其帖子中添加类别。问题:他们不知道哪些已经存在,哪些知道。因此,我想走一条路线,用户可以选择(复选框?)现有的类别。


我的问题:如何正确执行此操作?


我的代码如下:


                           if(isset($_POST['entry']) AND !$_POST['entry'] == ""):

$my_post = array();


$my_post['post_title']   = $_POST['title'];

$my_post['post_content'] = $_POST['entry'];

$my_post['post_status']  = 'publish';


$cat_name             = sanitize_text_field( $_POST['newcat'] );

$my_post ['cat_name'] = $cat_name;


$category_id = get_cat_ID( $_POST['newcat'] );


if ( ! $category_id ) {

    if ( ! is_admin() ) {

        die();

    }

$args = array(

    'description' => "Category description",

    'parent' => 0);

    $category_id = wp_insert_term( $_POST['newcat'], "category", $args );

}


$my_post['post_author'] = get_current_user_id();


$my_post['tax_input'] = array('category' => $category_id);



wp_insert_post( $my_post );

然后,我显示了下拉类别,但是添加类别的复选框时我无法保存选择。


$categories=get_categories();   foreach($categories as $category) {     echo "<input type='checkbox' name='mychecky' value='$category->term_id' />";    echo $category->cat_name;

    echo '<br>';    }

如何为我的帖子在每个清单中保存所选类别?


红颜莎娜
浏览 142回答 1
1回答

芜湖不芜

在表单中,清单应接受多个值,因此它必须是一个数组。HTML表单中的数组带有方括号,[]因此您的复选框名称应类似于mychecky[]。复选框输入的完整代码:$categories = get_categories();foreach($categories as $category) {&nbsp; &nbsp;echo "<label><input type='checkbox' name='mychecky[]' value='$category->term_id' />$category->cat_name</label><br>";}然后,当您检查POST数据时,您应该从表单中获得一个数组,并且可以像这样分配它,因为post_category参数无论如何必须是一个数组:// it is an array from a form with category IDsif (isset($_REQUEST['mychecky'])) {&nbsp; &nbsp;$my_post['post_category'] = $_REQUEST['mychecky'];}您可以将您的方法与分类法结合使用post_category,也可以将其与内置方法结合使用,检查文档中的wp_inset_post函数。
打开App,查看更多内容
随时随地看视频慕课网APP