Intereting Posts
Отображение пользовательской таксономии, прикрепленной к сообщению на одной странице Получение заметки с изображением для показа только если заполнено Как я могу выполнить свой плагин только в интерфейсе (а не в бэкэнд) Пользовательский тип сообщения и пользовательские таксономии Существует ли update_comment_meta hook? Получить путь к первому прикрепленному медиа (single.php) Нежелательная «задержка сканирования: 10» добавлена ​​в мой файл robots.txt Confused by $ wpdb-> подготовить Что такое «расширенный» контекст в add_meta_box? Описание таксономического термина со стилем, только если описание существует? Сохранить дату публикации после публикации? Контактная форма 7 – Отладка отправки сообщений об отказе по электронной почте Показать сообщения из той же категории или те же теги Скрыть дополнительные меню с панели инструментов WordPress Как установить JavaScripts в плагин

Удалить таксономию и удалить все связанные с ней сообщения

Я хочу удалить все сообщения, связанные с таксономией.

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

Я попробовал под кодом с именем hook is delete_term_taxonomy

  <?php add_action('delete_term_taxonomy','wp_custom_delete_taxonomy'); function wp_custom_delete_taxonomy($tt_id) { global $wpdb; // add action here $get_term_id = $wpdb->get_results("SELECT meta_value, user_id FROM `wp_usermeta` WHERE `meta_key`='term_id' AND `meta_value` =".$tt_id.""); $post_metattid = $get_term_id[0]->meta_value; $user_id = $get_term_id[0]->user_id; $get_post_id = get_user_meta($user_id,'post_id',true); $delete_all_model = $wpdb->query("DELETE p,pm,tr,d,e FROM wp_posts as p LEFT JOIN wp_postmeta as pm ON p.id=pm.post_id LEFT JOIN wp_term_relationships as tr ON tr.object_id=pm.post_id LEFT JOIN wp_term_taxonomy d ON d.term_taxonomy_id = tr.term_taxonomy_id LEFT JOIN wp_terms e ON e.term_id = d.term_id WHERE tr.term_taxonomy_id=".$tt_id.""); } ?> 

это не удаляет сообщения о таксономии, у кого есть идея по этому поводу.

Solutions Collecting From Web of "Удалить таксономию и удалить все связанные с ней сообщения"

Прежде всего нам нужно найти должности, связанные с нашим таксономическим сроком. Затем мы удалим их один за другим, запустив цикл foreach . Попробуйте ввести код ниже. Я надеюсь, что это сработает для вас –

 add_action('pre_delete_term', 'the_dramatist_delete_posts_on_taxonomy_delete', 1, 1 ); function the_dramatist_delete_posts_on_taxonomy_delete( $term ) { $args = array( 'post_type' => 'post', // post_type 'tax_query' => array( array( 'taxonomy' => 'post_tag', // taxonomy_name 'field' => 'id', 'terms' => $term ) ) ); $posts = get_posts($args); foreach ( $posts as $post ){ wp_delete_post( $post->ID, true ); } }