Intereting Posts
Два пользовательских типа сообщений с идентичными статьями, конкурирующими за один и тот же слизень У меня две проблемы (SEO) Управление ролями и возможностями на нескольких сайтах Проверка наличия $ _FILE isset для массива метабокс загрузки файлов Показать сообщение из категории Сохранение и отображение содержимого на передней панели с помощью wp_editor Предварительный просмотр .doc или .docx на одной странице Как долго поддерживается WordPress 3.9.2? Разбиение страниц с пользовательскими типами сообщений приводит к 404 вопросам Как я могу взять все идентификаторы из действия untrash_post? изменение размера изображения в содержимом Обновить значения настраиваемого поля на странице редактирования страницы woocommerce Как я могу использовать 2 базы данных с одной установкой WordPress WP-FB-AutoConnect: невозможно войти в систему с учетной записью администратора Разрешить вкладчикам создавать страницы (но не публиковать)

Удалить приложение с сообщением

Я пытаюсь опубликовать ссылку на удаление для пользователя, чтобы он мог удалить свои собственные записи:

global $post; if ( !current_user_can( 'delete_bkroadkill', $post->ID ) ) return; $link = "<a href='" . wp_nonce_url( get_bloginfo('url') . "/wp-admin/post.php?action=delete&amp;post=" . $post->ID, 'delete-post_' . $post->ID) . "'>".$link."</a>"; echo $before . $link . $after; 

Как я могу удалить прикрепление сообщения с этим?

Это правильный крючок для этого:

 add_action('before_delete_post', 'delete_post_attachments'); function delete_post_attachments($post_id){ global $wpdb; global $post_type; if (!$post_type == 'bkroadkill') return; $args = array( 'post_type' => 'attachment', 'post_status' => 'any', 'posts_per_page' => -1, 'post_parent' => $post_id ); $attachments = new WP_Query($args); $attachment_ids = array(); if($attachments->have_posts()) : while($attachments->have_posts()) : $attachments->the_post(); $attachment_ids[] = get_the_id(); endwhile; endif; wp_reset_postdata(); if(!empty($attachment_ids)) : $delete_attachments_query = $wpdb->prepare('DELETE FROM %1$s WHERE %1$s.ID IN (%2$s)', $wpdb->posts, join(',', $attachment_ids)); $wpdb->query($delete_attachments_query); endif; }