允许用户从前端创建新的自定义分类条目(无需创建帖子)

时间:2012-07-28 作者:Ruudbass

我创建了一个称为“俱乐部”(一群人)的自定义分类法。这使我能够对参与者的帖子进行分组(如标签)。我使用插件“Quick Post Widget”从前端输入他们的帖子。在Quick Post小部件的表单中,他们可以选择自己的“俱乐部”(或输入新的俱乐部)。

我的问题是:我如何让投稿者从前端进入一个新的“俱乐部”,而不实际创建一个新的帖子。这与从前端创建新标记的功能大致相同。(即:带有“创建”按钮的单个输入字段(提交))。

我一直在互联网上寻找一个简单的解决方案,但没有成功。我希望你能帮助我。。。

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

这比你想象的要简单得多。

您将处理的功能是wp_insert_term 由于我假设您只想提供基本功能来添加新的条款(俱乐部),而不是更新条款,因此我不会介绍wp_update_term 立即运行。

下面的示例非常简单,为简洁明了起见。基本上,您可以将以下代码段复制并粘贴到主题文件中的适当位置,例如sidebar.php 例如,模板。

<?php

// Check to see if correct form is being submitted, if so continue to process
if( \'POST\' == $_SERVER[\'REQUEST_METHOD\'] && !empty( $_POST[\'action\'] ) &&  $_POST[\'action\'] == "new_term") {

    // Check to see if input field for new term is set 
    if (isset ($_POST[\'term\'])) {

        // If set, stores user input in variable
        $new_term =  $_POST[\'term\'];

        // Function to handle inserting of new term into taxonomy
        wp_insert_term(

          // The term (user input)
          $new_term,

          // The club taxonomy
          \'club\'        

        );

    } else { 

        // Else throw an error message
        echo \'Please enter a club name!\';     

    }

}

?>

<form id="insert_term" name="insert_term" method="post" action=""> 

    <input type="text" value="" name="term" id="term" /> 
    <input type="submit" value="Add Club" id="submit" name="submit" />
    <input type="hidden" name="action" value="new_term" />

</form> 
请注意,上述代码没有对安全性做出任何假设,即用户是否必须登录才能查看和访问上述表单。如果是这样,您可以考虑应用is_user_logged_in 作为预防措施。

您可能还希望对上述表格输入进行一些数据验证/宣传,您可以在codex上阅读更多信息:Data Validation

希望这能让你走上正确的道路。

结束

相关推荐

使用wp_INSERT_TERM()函数添加术语时,缺少Term_id和Term_Taxonomy_id

检查线路;list($term\\u id,$taxonomy\\u id)=$result在下面的代码段中。(朝向底部)。为什么我缺少术语\\u id&;当我回显$taxonomy\\u id的值时?它们不应该由wp\\u插入它们来填充吗? $term_name = \'Uncategorized\'; $term_slug = sanitize_title(\'Uncategorized\', \'Default category slug\'); $term_