Intereting Posts
Разве WP удаляет устаревшие файлы плагинов / тем для обновления плагина / темы? Признание функций WP в обработчике представления формы Временная бесконечная переадресация Что происходит с процессом WordPress? Создавайте динамический и отзывчивый коллаж изображений Является ли константная структура /% post_id% /% postname% быстрее или медленнее, чем просто /% postname%? Добавьте дополнительные шаблоны в раскрывающийся список шаблонов при добавлении меню страницы Функция для перечисления всех сообщений для каждого сообщения в моей базе данных WP? Ручное удаление плагинов Как получить реальные размеры изображения или обходить $ content_width? Две петли на странице архива 3.9 ломается многопользовательская Ошибка блокировки WordPress Могу ли я использовать wpdb для вставки результатов запроса в сообщение? Пользовательский тип сообщения и URL-адрес

Строгий список тегов – пользователь должен выбрать только теги для сообщений

Выбирая теги для сообщений, пользователь может создавать новые теги на лету.

Например, у нас есть тег «животное», но пользователь неправильно описывает его как «аминал» – и WordPress создает его.

В нашем блоге важна строгая структура тегов. Как отключить эту функцию?

редактировать

Решение добавлено.

Solutions Collecting From Web of "Строгий список тегов – пользователь должен выбрать только теги для сообщений"

Вы можете деактивировать функцию тега по умолчанию и добавить через плагин пользовательскую таксономию, в которой перечислены только созданные тэги, например метатего. Его также можно сконструировать так, как метатекст тега.

Решение

Добавляет крючок к действию create_term . Две вещи:

  • Проверьте референта, и если он исходит из 'post.php', die
  • но перед остановкой удалите новый (и нежелательный) тег с помощью wp_delete_term ($ term_id, "post_tag");

Исходный код как плагин

 <?php /* Plugin Name: Tag Checker */ add_action('create_term', 'tag_checker_hook'); function tag_checker_hook($term_id) { $referer = $_SERVER['HTTP_REFERER']; if (strpos($referer, "/wp-admin/post.php") !== false) { // Delete it wp_delete_term($term_id, "post_tag"); wp_die("You are not able to create new tags."); } } ?>