如何插入类别通过php发布?

时间:2019-05-02 作者:Siyah

我不能让它工作。我有一个用户可以提交帖子的页面。在那里,理想情况下,我想显示所有类别,让他们通过下拉菜单选择类别来分配帖子。我无法做到这一点,因为我是一个PHP新手,所以我决定一步一步来,首先添加一个空的输入字段,用户可以在其中添加一个随机文本,该文本将成为该帖子的类别。

为此,我做了以下工作:

                   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; 

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

                        // add post to database
                        $id = wp_insert_post( $my_post );
                        endif;
因此,正如您所看到的,我试图通过将其链接到$my\\u post和“newcat”输入字段来添加类别。

以及表格:

<form action="" method="post" role="form">

<label for="newcat">Category Name</label>
<input type="text" name="newcat" value="" />

</form>
帖子标题和内容正常(已从上面的代码中删除),但类别根本不起作用。

有人能帮我解释一下我做错了什么吗?

1 个回复
SO网友:Oleh

请尝试使用此功能https://codex.wordpress.org/Function_Reference/wp_dropdown_categories

wp\\u dropdown\\u categories()-显示类别的HTML下拉列表

    <form id="category-select" class="category-select" action="<?php echo esc_url( home_url( \'/\' ) ); ?>" method="get">
        <?php wp_dropdown_categories(); ?>
        <input type="submit" name="submit" value="view" />
    </form>

相关推荐

Dropdown menu for categories

当我使用下面的代码时<?php wp_nav_menu( array(\'menu\' => \'categories\' )); ?> 我可以创建一个新的菜单来列出我创建的wordpress中的所有类别。我用它在页面中间列出所有类别。我现在的问题是:有没有一种简单的方法可以为存在的每个子类别创建下拉菜单?那么,当我点击一个特定的类别时,它的子类别会显示出来吗?