Intereting Posts
Обновление до версии 4.5 натолкнуло мой виджет «главной боковой панели» на место Изменение основной функции WordPress без взлома ядра Как предотвратить автоматическое преобразование тире в & ndash; Я хочу добавить папку темы репозитория Отображение сообщений с использованием пользовательского запроса с настраиваемым полем и term_id Как я могу использовать 'edit_form_after_title' условно? get_adjacent_post – в том же сроке или категории не работает Справка с пользовательским запросом WordPress и расширенными настраиваемыми полями плагина Инициализировать среду WordPress для использования в сценарии командной строки Сбросить / изменить порядок сообщений в таблице MySQL wp_posts Что такое браузеры с поддержкой WordPress? цикл foreach внутри цикла, создающий дубликаты на выходе Укажите пользовательский путь загрузки только для настраиваемого типа сообщений? the_meta – нет запроса get_the_meta? Как объединить двух авторов в один?

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

Когда пользователь нажимает кнопку «Добавить новую категорию» для моего настраиваемого типа пакетов, я хочу создать новую страницу с тем же именем, что и новая категория одновременно. Я могу создать новую страницу с помощью кода, но я не могу найти правильный крюк для моей функции.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');