Новости

База даних WordPress

  1. База даних WordPress
  2. wp_options
  3. wp_users, wp_usermeta
  4. wp_posts, wp_postmeta
  5. wp_terms, wp_term_relationships, wp_term_taxonomy
  6. wp_comments, wp_commentmeta
  7. wp_links
  8. SQL виручає
  9. застереження
  10. Змінити імена користувача за замовчуванням
  11. Змінити Ваш пароль WordPress
  12. Зміна автора записів
  13. Боротьба зі спамом в коментарях
  14. Видалити ревізії всіх записів WordPress
  15. Оновлення посилань в записах
  16. висновок

WordPress за десять років став популярною CMS, для сайтів і блогів його вибирають як новачки так і експерти. Установка і робота з WordPress не вимагає особливих знань, але, бувають ситуації де деякі знання бази даних потрібно.

Коли справа доходить до роботи з базами даних в ми зосередимося на SQL запитах, тому що це швидко і не вимагає додаткових знань про структуру бази даних.

База даних WordPress

WordPress за десять років став популярною CMS, для сайтів і блогів його вибирають як новачки так і експерти

Структура бази даних WordPress за замовчуванням

Для входу в MySQL WordPress, в вашому терміналі виконайте команду:

mysql-u [username] -pD [database_name]

Після входу в MySQL WordPress, можна виконати пошук в таблицях за допомогою наступного дії:

show tables;

Що б перевірити структуру будь-якої таблиці, виконайте:

desc [названіе_табліци];

Зверніть увагу, що установка нових полігонів може створювати нові таблиці, які Я не буду розглядати в цьому записі.

Також, враховую що префікс у вашій таблиці "wp". У разі, якщо Ви використовували інший префікс таблиць, замініть "wp" на ваш префікс в запитах з назвою таблиць.

Я поясню призначення таблиць WordPress в логічному порядку, а не в алфавітному, як це написано в більшості підручників.

wp_options

Таблиця wp_options зберігає всі настройки сайту WordPress, назва, опис і часовий пояс. Всі ваші установки в адмінці зберігаються в цій таблиці.

wp_users, wp_usermeta

З назви можна здогадатися що таблиця wp_users зберігає список всіх зареєстрованих користувачів на вашому сайті WordPress. Вона містить базову інформацію користувача; логін, пароль (зашифрований), e-mail, час реєстрації, ім'я, роль і ключ активації (якщо потрібно).

wp_usermeta зберігає метадані користувачів. Наприклад, прізвище користувача зберігається в таблиці wp_usermeta, а не в wp_users.

У таблиці wp_usermeta є два поля про які потрібно знати - meta_key і meta_value. Модулі можуть зберігати призначені для користувача мета-значення про користувачів в мета-таблиці з використанням нових значень meta_key.

wp_posts, wp_postmeta

Таблиця wp_posts зберігає всі дані записів сайту. Всі записи (сторінки), і їх виправлення доступні в таблиці wp_posts. Навіть пункти меню зберігаються в цій таблиці.

Типи записів (сторінок, розділів меню або редакції) їх відмінності можна знайти в таблиці post_type. Далі Ви побачите, як ми можемо використовувати запити SQL в цій таблиці з користю.

wp_postmeta зберігає метадані про записи.

Навіть якщо ви використовуєте SEO плагін для мета-опису, вони так само буду зберігаються в цій таблиці.

wp_terms, wp_term_relationships, wp_term_taxonomy

Категорії і теги для записів, сторінок або посилання зберігаються в таблиці wp_terms. Це та сама таблиця яка містить slug. Допомагає SEO Google Bot ідентифікувати URL-адреси.

wp_term_relationship ці посилання як об'єкти (пости, сторінки або посилання), таблиця пов'язує ці об'єкти.

wp_term_taxonomy таблиця пов'язує між собою категорії, посилання і теги воєдино, а також встановлює черговість і вкладеність категорій.

wp_comments, wp_commentmeta

wp_comments зберігає коментарі на записи і сторінки. Ця таблиця містить також не схвалені коментарі та інформацію про автора коментаря і вкладеності коментарів.

wp_comments також містить метадані про коментарі.

Важливо відзначити, що якщо ви використовуєте системи коментування сторонніх розробників, таких як Disqus ваші коментарів не будуть збережені в вашій базі даних WordPress.

wp_links

Таблиця wp_links містить інформацію про користувача доданих посиланнях на ваш сайт. Вона застаріла, але її можна включити знову за допомогою плагіна Links Manager.

Ось графічне представлення даних, таблиці пов'язані один з одним.

Графічне представлення пов'язаних таблиць WordPress

джерело:

SQL виручає

SQL (Structured Query Language) - це мова програмування, який використовується для управління даними в реляційних системах управління базами даних, таких як MySQL. Ви можете отримувати і маніпулювати даними в таблицях баз даних за допомогою SQL. Ми будемо використовувати деякі запити, які допоможуть нам виконати якісь завдання, які по іншому дуже складно або неможливо зробити з WordPress dashboard.

застереження

Корисних запитів SQL в інтернеті багато, по 10 штук на кожному сайті, а то і більше. Я виконав один з таких SQL запитів; видалити Trackbacks / Pinkbacks, вони то пішли, але їх кількість відображалося. Це не добре!

перед змінами в базі даних потрібно завжди робити резервну копію бази даних WordPress!

Якщо ви плануєте виконати запити SQL, які я збираюся обговорити, Ви повинні знати, що зміни які виконують запити, незворотні. Тому краще використовувати BEGIN, COMMIT і ROLLBACK.

Ви завжди можете повернутися до стану до команди за допомогою ROLLBACK.

BEGIN; // Ваш запит SQL ROLLBACK;

Якщо потрібно, щоб зміни залишилися, напишіть COMMIT.

BEGIN; // Ваш запит SQL COMMIT;

Тепер, давайте розглянемо кілька прийомів, які ми можемо використовувати, щоб зробити нашу роботу простіше.

Змінити імена користувача за замовчуванням

WordPress не дозволяє Вам змінити ім'я користувача. Це можна зробити це через запит SQL, виконавши просту команду.

UPDATE wp_users SET user_login = '[новое_імя_пользователя]' WHERE user_login = '[старое_імя_пользователя]';

За замовчуванням ім'я адміністратора в WordPress "admin", хакери часто намагаються користуватися цим ім'ям. З метою безпеки рекомендується змінити його на інше.

Змінити Ваш пароль WordPress

Уявіть собі, що ви адмін і забули пароль. Ви можете легко змінити його, якщо у вас є доступ до бази даних.

UPDATE wp_users SET user_pass = MD5 ( '[новий_пароль]') WHERE user_login = '[ім'я користувача]';

Паролі не зберігаються відкритим текстом, вони шифруються, тому в запиті використовується MD5 .

Зміна автора записів

Якщо потрібно змінити автора записів простим запитом SQL, спочатку потрібно перевірити ID автора в таблиці wp_users.

UPDATE wp_posts SET post_author = [new_author_id] WHERE post_author = [old_author_id];

Якщо немає часу перевіряти ID автора, Ви можете спробувати цей складний запит.

UPDATE wp_posts SET post_author = (SELECT ID FROM wp_users WHERE user_login = '[new_author_login]') WHERE post_author = (SELECT ID FROM wp_users WHERE user_login = '[old_author_login]');

Боротьба зі спамом в коментарях

Якщо не використовувати зовнішній сервіс для обробки коментарів, є ймовірність, що ви отримаєте багато спаму в коментарях. Якщо у Вас вже багато спаму, можна спробувати деякі запити SQL.

Видалити всі коментарі зі спамом одним запитом:

DELETE FROM wp_comments WHERE comment_approved = 'spam';

Якщо потрібно дізнатися, де спам в коментарях і звідки, спробуйте цей запит:

SELECT comment_author_IP as ip_address, COUNT (*) AS count FROM wp_comments WHERE comment_approved = 'spam' GROUP BY ip_address ORDER BY count DESC

В результаті з'явиться список IP-адрес, тих хто залишив спам в коментарях.

Видалити ревізії всіх записів WordPress

Як я вже пояснював раніше, wp_posts зберігає поточну версію запису при натисканні на кнопку Зберегти. Тому, якщо ви натиснули кнопку Зберегти сто раз при написанні записи, там буде сто ітерацій записів у вашій базі даних. Все ревізій в post_type як "revision".

Якщо вам цікаво, скільки редакцій збереглося, виконайте наступну команду.

SELECT COUNT (*) FROM wp_posts WHERE post_type = 'revision';

Якщо потрібно видалити всі зміни опублікованих записів, виконайте наступну команду:

DELETE p, t, m FROM wp_posts p LEFT JOIN wp_term_relationships t ON (p.ID = t.object_id) LEFT JOIN wp_postmeta m ON (p.ID = m.post_id) WHERE p.post_type = 'revision'

Рядок LEFT JOIN видалить зв'язок метаданих з тегами категорії.

Оновлення посилань в записах

Якщо ви переїжджаєте на новий домен, швидше за все в ваших записах є багато посилань на ваш старий домен. Змінюючи їх вручну може бути стомлюючим заняттям.

Проста команда SQL позбавить Вас від зайвого заняття:

UPDATE wp_posts SET post_content = REPLACE (post_content, '[старий_домен]', '[новий_домен]');

Цей запит SQL шукає в колонці таблиці post_content старий домен, і замінює їх на Ваш новий домен. Так само, цей запит можна використовувати при перенесення WordPress з localhost на web-server.

висновок

На сторінці оформлення WordPress багато трюків для цієї CMS. Якщо Ви знаєте, будь-який інший трюк SQL для WordPress? Дайте мені знати в коментарях нижче!

Якщо Ви знаєте, будь-який інший трюк SQL для WordPress?

Уважаемые партнеры, если Вас заинтересовала наша продукция, мы готовы с Вами сотрудничать. Вам необходимо заполнить эту форму и отправить нам. Наши менеджеры в оперативном режиме обработают Вашу заявку, свяжутся с Вами и ответят на все интересующее Вас вопросы.

Или позвоните нам по телефонам: (048) 823-25-64

Организация (обязательно) *

Адрес доставки

Объем

Как с вами связаться:

Имя

Телефон (обязательно) *

Мобильный телефон

Ваш E-Mail

Дополнительная информация: