В адмінці WordPress є багато можливостей для управління сайтом, але деякі операції оптимальніше робити через SQL-запити до бази даних. Наприклад, виникла необхідність швидко видалити статті, які мають мало переглядів.
В адмінці можна відсортувати статті за кількістю переглядів, та групами повидаляти їх. Але за великої кількості статей – це дурна робота.
Запит для видалення статей WordPress, які мало переглядають, складається з двох частин:
вибір ID статей, у яких кількість переглядів менша «ніж треба»;
видалення статей з відповідним ID.
(Погано бути бараном, тому цей SQL-запит з’явився після кількох невдалих спроб. Якщо хтось вивчав бази даних – йому, звичайно, все буде легше зробити.)
SQL-запит видалення всіх статей, які мають менше 50 переглядів
DELETE FROM wp_posts WHERE ID IN (SELECT post_id FROM wp_postmeta WHERE meta_key = 'views' AND meta_value < 50 );
Деталі:
DELETE FROM wp_posts WHERE ID IN
дія: видалення рядків (статей) з таблиці wp_posts, де ідентифікаційний номер (ID) відповідає значенню, яке ми отримаємо в дужках.
SELECT post_id FROM wp_postmeta WHERE meta_key = 'views' AND meta_value < 50
дія: вибір ідентифікаційного номера (post_id) з таблиці wp_postmeta, із колонки (meta_key) «views», де значення meta_value менше за 50.
Такі ось справи.