Допустим на вашем блоге большое количество записей, а Вам нужно сделать изменения к записям всего блога. Внесение изменений вручную занимает много времени и имеет вероятность большого количества ошибок. В таком случае лучше воспользоваться запросами, которые непосредственно воздействуют на бузу данных MySQL WordPress.
Как добавить произвольное поле ко всем записям и страницам
Для добавления произвольного поля ко всем записям и страницам нужно заменить «UniversalCutomField» на реальное имя, а «MyValue» - на значение поля.
INSERT INTO wp_postmeta (post_id, meta_key, meta_value)
SELECT ID AS post_id, 'UniversalCustomField'
AS meta_key 'MyValue AS meta_value FROM wp_posts
WHERE ID NOT IN (SELECT post_id FROM wp_postmeta WHERE meta_key = 'UniversalCustomField');
Для вставления произвольного поля только в записи, применяем запрос:
INSERT INTO wp_postmeta (post_id, meta_key, meta_value)
SELECT ID AS post_id, 'UniversalCustomField'
AS meta_key 'MyValue AS meta_value
FROM wp_posts WHERE ID NOT IN
(SELECT post_id FROM wp_postmeta WHERE meta_key = 'UniversalCustomField')
`` AND post_type = 'post';
А для страницы, используем следующий запрос:
INSERT INTO wp_postmeta (post_id, meta_key, meta_value)
SELECT ID AS post_id, 'UniversalCustomField'
AS meta_key 'MyValue AS meta_value
FROM wp_posts WHERE ID NOT IN
(SELECT post_id FROM wp_postmeta WHERE meta_key = 'UniversalCustomField')
AND `post_type` = 'page';
Как запретить комментировать старые записи
Изменение значения для comment_status позволяет изменять возможность комментирования записи:
open — можно комментировать;
closed — комментировать нельзя;
registered_only — комментировать могут только зарегистрированные пользователи.
Покажем на примере (используется 2010-01-01):
UPDATE wp_posts SET comment_status = 'closed' WHERE post_date < '2010-01-01' AND post_status = 'publish';
Как удалить записи старше «Х» дней
Чтобы выбрать записи, используйте данный запрос. Замените «Х» на нужное количество дней:
SELECT * FROM `wp_posts`
WHERE `post_type` = 'post'
AND DATEDIFF(NOW(), `post_date`) > X
Чтобы удалить записи, которые старше «Х» дней, применяем следующий запрос. Вместо «Х» ставим нужное количество дней:
DELETE FROM `wp_posts`
WHERE `post_type` = 'post'
AND DATEDIFF(NOW(), `post_date`) > X
Полезные ссылки: hyundai в Киеве



