Пусть пользователи создают новую пользовательскую запись таксономии из интерфейса (без создания сообщения)

Я создал обычную таксономию под названием «Клуб» (группа людей). Это позволяет мне группировать сообщения от участников (например, тегов). Я использую плагин «Quick Post Widget», чтобы входить в свой почтовый ящик. В форме Quick Post Widget они могут выбрать свой «Клуб» (или ввести новый).

Вот мой вопрос: как я могу позволить вкладчикам просто вводить новый «клуб» из интерфейса, фактически не создавая новый пост. Это была бы такая же функциональность, как создание нового тега из интерфейса. (т. е. одно поле ввода с кнопкой «создать» (отправить)).

Я искал интернет для простого решения, но не смог. Я надеюсь, что вы можете помочь мне…

Solutions Collecting From Web of "Пусть пользователи создают новую пользовательскую запись таксономии из интерфейса (без создания сообщения)"

Это намного проще, чем вы думаете.

Функция, с которой вы будете иметь дело, – wp_insert_term поскольку я предполагаю, что вы хотите только предоставить базовую функциональность, чтобы добавить новый термин (клуб), а не обновлять условия. Теперь я не буду wp_update_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 в качестве меры предосторожности.

Вы также можете применить некоторую проверку данных / сенсибилизацию к введенному выше виду формы, о котором вы можете прочитать здесь, в кодексе: Проверка данных

Надеюсь, это приведет вас к правильному пути.