Удаление записей wordpress

grot86
На сайте с 07.11.2007
Offline
168
6531

На одном сайте (движок Wordpress) есть категория в которой размещено несколько тысяч постов. Нужно их удалить с сайта. Подскажите, как правильно реализовать запрос к базе данных.

Мой поставщик мобильных прокси: https://clck.ru/38ub3L
IVIvanov
На сайте с 21.07.2009
Offline
50
#1

DELETE FROM Имя_таблицы_с_постами WHERE Калонка_категорий=Идентификатор_нужной_категории

Общетематическое СМИ в Гугл Новостях (Google News) (/ru/forum/861857)
Codd
На сайте с 13.01.2011
Offline
65
#2

Есть плагин для массового удаления постов

http://sudarmuthu.com/wordpress/bulk-delete

HomerJSimspon
На сайте с 18.09.2012
Offline
2
#3
IVIvanov:
DELETE FROM Имя_таблицы_с_постами WHERE Калонка_категорий=Идентификатор_нужной_категории

Здесь так не катит. В вордпрессе есть таблица связей постов и рубрик (один пост может принадлежать нескольким рубрикам).

Написал спешно скриптик (вдруг ещё кому пригодится).

Не тестировал, поэтому перед каждым запуском делайте бэкап БД :-)

<?php

// Конфигурация
//

$_DB = array();
$_DB['server'] = ''; // Сервер БД
$_DB['user'] = ''; // Пользователь БД
$_DB['password'] = ''; // Пароль пользователя БД
$_DB['name'] = ''; // Имя БД
$_DB['wp_p'] = ''; // Префикс таблиц Wordpress в БД


// Скрипт
//

if (!mysql_connect($_DB['server'], $_DB['user'], $_DB['password']))
{
echo 'Не удалось подключиться к серверу БД MySQL!';
die();
}

if (!mysql_select_db($_DB['name']))
{
echo 'Не удалось подключиться к БД MySQL!';
die();
}

if (isset($_POST['clear']) && isset($_POST['category']) && $_POST['category'] != '')
{
// Находим ID всех постов из категории
//

$get_posts_query = mysql_query('SELECT `object_id` WHERE `' . $_DB['wp_p'] . 'term_taxonomy_id` = ' . intval($_POST['category']));
while ($get_posts_data = mysql_fetch_assoc($get_posts_query))
{
$objects[] = $get_posts_data['object_id'];
}

// Удаляем все посты, ID которых мы получили (если таковые имеются, конечно)
//

if (count($objects) > 0)
{

if (mysql_query('DELETE FROM `' . $_DB['wp_p'] . 'posts` WHERE `ID` IN (' . implode(', ', $objects) . ')'))
{
echo 'Посты категории удалены!<br /><br />';
}
else
{
echo 'Ошибка по каким-то причинам, попробуйте снова!<br /><br />';
}

}
}

?>

<form action="" method="post">
Удалить все посты из категории, ID которой: <input type="text" name="category" style="width: 30px;" /> <input type="submit" name="clear" value=" ОК " />
</form>
Пишу PHP-скрипты, делаю сайты, интернет-магазины, работаю с joomla, dle, wordpress. () Микро-кредит нннадо (/ru/forum/751204)? ICQ#: 778324.
SeVlad
На сайте с 03.11.2008
Offline
1609
#4
grot86:
есть категория в которой размещено несколько тысяч постов. Нужно их удалить с сайта

см сюда...................

Делаю хорошие сайты хорошим людям. Предпочтение коммерческим направлениям. Связь со мной через http://wp.me/P3YHjQ-3.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий