Intereting Posts
Показать reCaptcha в пользовательской форме входа и регистрации Frontend Как решить проблему работы WordPress Cron? Как отображать сообщения из нескольких типов сообщений в случайном порядке в wordpress? Добавить поле выбора в медиа-загрузчик, который добавляет класс к изображению Когда это хорошая идея, чтобы построить постоянную структуру с нуля? Обновление родительской темы Свойство JQuery в дочерней теме проверьте, удалено ли на сайте WordPress обновления Всего результатов Проблема обновления За исключением save_post других действий по добавлению / редактированию экрана сообщений? Создание миниатюрных изображений небольшого размера из показанного изображения Список всех сообщений в категории с функцией query_post () Как использовать несколько экземпляров сделки или объявления с помощью виджета подключаемого модуля таймера обратного отсчета Изменить постоянную ссылку автора с помощью htaccess? Фильтрация определенных форматов сообщений с определенных страниц

Добавить новую категорию

Когда пользователь нажимает кнопку «Добавить новую категорию» для моего настраиваемого типа пакетов, я хочу создать новую страницу с тем же именем, что и новая категория одновременно. Я могу создать новую страницу с помощью кода, но я не могу найти правильный крюк для моей функции.php для ее запуска.

Мне нужен крючок, который будет работать только для типа Postages.

благодаря

Solutions Collecting From Web of "Добавить новую категорию"

Вы можете попробовать created_term :

 /** * Do 'stuff' when a term is created in the 'country' taxonomy * using info from the referred page * * @param integer $term_id * @param integer $tt_id * @param string $taxonomy * @return void */ function custom_created_term( $term_id, $tt_id, $taxonomy ) { $my_cpt = 'packages'; // Edit this to your needs $my_tax = 'category'; // Edit this to your needs if( DOING_AJAX && $my_tax === $taxonomy ) { // Try to get the post type from the post id in the referred page url // Example: /wp-admin/post.php?post=2122&action=edit&message=1 parse_str( parse_url( wp_get_referer(), PHP_URL_QUERY ) , $params ); if( isset( $params['post'] ) ) { $post_id = intval( $params['post'] ); if( $post_id > 0 && $my_cpt === get_post_type( $post_id ) ) { // do stuff ... } } } } 

Запрос ajax отправляется admin-ajax.php когда вы используете «+ Добавить новую категорию» для создания новой категории на экране редактирования сообщений. Данные формы, отправленные в этом запросе ajax, как представляется, не содержат явной информации о текущем постобъекте. Поэтому я использую указанную страницу как последнее средство.

Могут быть другие лучшие способы сделать это, но я не уверен, как 😉

Я думаю, что использование ловушки WordPress для пользовательской таксономии будет более чистым и быстрым.

 do_action( "create_{$taxonomy}", int $term_id, int $tt_id ) 

В качестве примера для запуска функции при создании новой категории WooCommerce:

 function custom_created_term( $term_id, $tt_id ) { // do stuff } add_action('create_product_cat','custom_created_term');