Студент - Репутация: 5
- Webmoney BL:
? | Доброго времени суток. Ребята, нужно написать плагин, который бы чистил в ВордПресе все дубликаты статей. Поясню: У меня стоят рсс граберы, которые парсят контент. Иногда, бывают глюки, и парсер заливают один и тот же контент с одними и теми же назвами. Получаются дубли. Вот нашел на одном сайте в человек класный мануал. Он делает всего на всего 4 запроса к БД:
Можно приступать и к SQL запросам которые я выделю в цитаты дабы вам было легче ориентироваться в их последовательности. Первый запрос создаст временнуб таблицу в базе данных, куда будут откладываться id уникальных статей сайта. Пусть наша временная таблица называеться - now_table. SQL запрос будет следующим: Код: CREATE TABLE IF NOT EXISTS `now_table` ( `id` INT(11) ) Второй запрос позволит скопировать в созданную нами ранее временную таблицу все идентификаторы уникальных статей сайта из таблицы post_title. Одна запись из кучи дублированных будет выбираться по принципу наименьшего параметра идентификатора, т.е. будет выбираться первая - самая ранняя публикация из кучи неуникальных публикаций этого материала. SQL запрос в этом случае будет иметь следующий вид: Код: INSERT INTO `now_table` SELECT MIN(`id`) FROM `wp_posts` GROUP BY `post_title` Играя с выражениями MIN(`id`) и MAX(`id`) можно выберать запись для сохранения либо самую первую опубликованную на сайте, либо последний дубль этой записи. Тут вам самим решать что оставить, а что удалить! Третьим запросом мы осуществим удаление из таблицы wp_posts заметок идентификатора которых нет во временной таблице now_table. Так как во временную таблицу заносяться только id уникальных статей вы увидите, что произойдет полное удаление дублированных записей. Запрос будет таким: Код: DELETE FROM `wp_posts` WHERE `id` NOT IN ( SELECT `id` FROM `now_table` ) И четвертый запрос позволит избавиться от уже ненужной временной таблицы, которая выполнила свою функцию хранения id уникальных записей. Запрос следующего вида: Код: DROP TABLE `now_table` Все... база очищена и можно спать спокойно Вот на основе этих 4 запросов нужен плагин, чтобы нажатием одной кнопки сайт чистился на дубли. А в идеале было бы круче, если бы он еще и по крону работал. Ну там каждый день запускался в 02:00 :) Кто смог бы замутить такое, пишите мне на аську 235-6восемь7-024 |