Intereting Posts
Загрузка шаблона сообщения, содержащего вложенный цикл с ajax Общий контент, но «Обновляемый» через основной сайт Изменить ссылку для добавления новых кнопок в пользовательский тип сообщения Как спрятать CPT-файлы из медиа-библиотеки Сортировка популярных сообщений по просмотрам за последнюю неделю обновить идентификатор термина (сохраненный как пост-мета-значение) при экспорте / импорте сообщений Показывать только результаты архива после отправки формы Показать последние сообщения Как удалить заголовок и список «Архивы» и название «Мета» Является ли сохранение нескольких параметров или сохранение нескольких элементов в одном варианте лучше? Каковы преимущества и недостатки использования пользовательского интерфейса для извлечения содержимого из WordPress back-end Как показать сообщение только после пользовательской даты Перемещено из Blogger в WordPress, однако я могу видеть только страницу Google 404 Предварительно заполнить поле «Гравитационные формы» с пользовательским типом сообщения Единичные тесты – Работа с зависимостями

Мне нужна команда SQL для удаления конкретных авторов и всех связанных с ними сообщений

У меня, к сожалению, есть авторы с множеством нечитаемых / спам-сообщений (тысячи некоторых из них)

Я попытался удалить администратор, но его медленный болезненный процесс – есть ли у кого-то конкретная команда SQL, которую я могу использовать, которую можно редактировать для каждого имени автора и удалить все сообщения, связанные с этим автором?

заранее спасибо

Вы также можете массово удалить записи автора, используя файл php, например:

require('wp-blog-header.php'); global $wpdb, $current_site; query_posts('author=11,161,23,6'); //the ID authors while ( have_posts() ) : the_post(); wp_delete_post( $post->ID, true ); endwhile; 

После этого вам просто нужно удалить авторов

Это удаляет сообщения и все связанные метаданные сообщения:

 DELETE a,b,c FROM `wp_posts` a LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id) LEFT JOIN wp_postmeta c ON (a.ID = c.post_id) WHERE a.post_author = '0'; 

Замените 0 идентификационным номером для post_author, который вы хотите удалить.

Не команда SQL, а простая функция, которая получает идентификатор автора и удаляет все его сообщения, таким образом вы удаляете мета-сообщение из этих сообщений.

 function delete_posts_by_author($author_ID){ $args = array('author' => $author_ID, 'posts_per_page' => -1); $the_query = new WP_Query( $args ); if ( have_posts() ) { while ( have_posts() ) { the_post(); wp_delete_post( $post->ID, true ); } } } 

delete_posts_by_author(3); : delete_posts_by_author(3);

Я не эксперт по SQL, поэтому перед его использованием обязательно протестируйте этот код (совет: замените DELETE на SELECT * для тестирования). Обязательно замените указанные разделы правильной таблицей и информацией пользователя. И всегда делайте резервную копию, прежде чем возиться с вашей базой данных!

Удаляет сообщения для определенного пользователя:

DELETE FROM <YOUR WORDPRESS POSTS TABLE> p, <YOUR WORDPRESS USERS TABLE> u WHERE u.ID = <USER ID NUMBER YOU WANT TO REMOVE>

Удаляет почтовую мета для определенного пользователя:

DELETE FROM <YOUR WORDPRESS POSTMETA TABLE> p, <YOUR WORDPRESS USERS TABLE> u WHERE u.ID = <USER ID NUMBER YOU WANT TO REMOVE>

Удаляет учетную запись пользователя:

DELETE FROM <YOUR WORDPRESS USERS TABLE> WHERE ID = <USER ID NUMBER YOU WANT TO REMOVE>

Удаляет метафайл пользователя:

DELETE FROM <YOUR WORDPRESS USERMETA TABLE> WHERE user_id = <USER ID NUMBER YOU WANT TO REMOVE>

Удаляет любые комментарии от этого пользователя:

DELETE FROM <YOUR WORDPRESS COMMENTS TABLE> where user_id = <USER ID NUMBER YOU WANT TO REMOVE>

Надеюсь, это поможет!