
Если вы являетесь владельцем сайта WordPress, есть много вещей, о которых нужно позаботиться.
Постоянно обновляйте содержимое своего блога, добавляйте новые продукты, меняйте цены, и мы даже не упомянули о регулярном обновлении плагинов, предоставляя доступ разработчику и делая много других вещей в рамках ежедневной рутины WordPress.
Иногда, если вам нужно изменить настройки, вы найдете длинный учебник по веб-странице с множеством инструкций для выполнения одного действия. Но что, если вы знали, что большинство этих изменений можно изменить с помощью простого запроса SQL – команды, которая запускается из меню администратора базы данных.
Поскольку вы занятой человек и экономия времени является приоритетом, это основные SQL-запросы, которые помогут вам достичь результатов за несколько минут.
Первые шаги
Если в вашей учетной записи хостинга имеется более одного веб-сайта, перед выполнением запросов SQL необходимо убедиться, что вы изменяете правильную базу данных. Вы можете найти имя базы данных, назначенной для конкретной установки WordPress, в файле wp-config.php в строке:
define (‘DB_NAME’, ‘yourdbname’)

Также обратите внимание на префикс таблицы, так как вам нужно будет указать его после запуска команд SQL. Он находится в том же файле внизу страницы настроек.

В этом примере выше имя базы данных – _wp622. Префикс таблицы – wpc7_. Теперь, когда мы узнаем, мы идем к администратору базы данных. Большинство панелей управления используют PHPMyAdmin для управления базами данных.

Когда он появится, найдите имя вашей базы данных в списке и щелкните по нему:

Прежде чем вносить какие-либо изменения, обязательно создайте резервную копию для этой базы данных, чтобы вы могли быстро восстановить ее на случай, если что-то пойдет не так.
Мы подробно расскажем, как сделать резервную копию WordPress, в нашем общем руководстве по резервному копированию. Но для быстрого ознакомления выберите вариант экспорта, выберите метод и формат в соответствии с вашими потребностями и нажмите «Перейти» (здесь мы установили все параметры по умолчанию):

Как только это будет сделано, вы можете безопасно продолжить. Нажмите на меню SQL и начнем:

Заменить URL
Если вы планируете обновить URL-адрес своего веб-сайта, добавив SSL-сертификат на свой веб-сайт или внеся другие изменения, обязательно используйте следующую команду:
UPDATE wp_options SET option_value = replace(option_value, 'http://www.oldurlofthewebsite.com', 'http://www.newurlofthewebsite.com') WHERE option_name = 'home' OR option_name = 'siteurl';
Допустим, я хочу, чтобы моим URL был https //: и моим доменным именем был example.com. В этом случае мне нужно изменить имя таблицы wp_options и тот же URL:
UPDATE wpc7_options SET option_value = replace(option_value, 'http://www.example.com', 'https://www.example.com') WHERE option_name = 'home' OR option_name = 'siteurl';

И ожидайте сообщения об успехе.

Почему это так важно видеть? Если вы нажмете кнопку Go, но в запросе будут обнаружены некоторые ошибки, система не сможет выполнить запрос, и вы получите ошибки, означающие сбой выполнения. Ошибка будет выглядеть так и будет указывать причину сбоя процесса.

Обратите внимание, что эта команда является базовой и заменит только основной URL вашего сайта, поэтому, если вы планируете изменить доменное имя вашего сайта с example.com на test.net, вам нужно будет изменить его, включая все таблицы, где URL вашего сайта выполнен, как wp-posts, wp-postmeta, и они также работают с таблицами со строками, содержащими URL, сгенерированные плагинами (например, WooCommerce).
Для этого вам понадобится хотя бы базовое обучение SQL. Еще один вариант – открыть базу данных, которую вы экспортировали, в любом текстовом редакторе и, нажав Ctrl + H, заменить все упоминания вашего старого домена новым. Если это кажется слишком сложным, существует множество других инструментов, которые помогают автоматизировать этот процесс (например, скрипт поиска и замены базы данных межсоединений или плагин Best Search and Replace на его основе. скрипт) при загрузке файла в папку вашего сайта для сайта вакансий и открытии его в браузере.
Создать нового администратора
Если вам нужно добавить нового пользователя с ролью администратора в вашу установку, вы должны использовать следующую команду и изменить ее в соответствии со своими предпочтениями:
INSERT INTO `wp_users` (`user_login`, `user_pass`, `user_nicename`, `user_email`, `user_status`)
VALUES ('yourlogin', MD5('yourpassword'), 'firstname lastname', '(email protected)', '0');
INSERT INTO `wp_usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`)
VALUES (NULL, (Select max(id) FROM wp_users),
'wp_capabilities', 'a:1:{s:13:"administrator";s:1:"1";}');
INSERT INTO `wp_usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`)
VALUES (NULL, (Select max(id) FROM wp_users), 'wp_user_level', '10');
Обратите внимание, что вам нужно будет изменить таблицы и значения входа в систему в соответствии с вашими имя пользователя и базы данных,
Я хочу создать пользователя mydeveloper с паролем mypassword, моего разработчика зовут John Doe, а адрес электронной почты (защищен электронной почтой), поэтому мой запрос будет выглядеть следующим образом:
INSERT INTO `wpc7_users` (`user_login`, `user_pass`, `user_nicename`, `user_email`, `user_status`)
VALUES ('Mydev', MD5('mypassword'), 'John Doe', '(email protected)', '0');
INSERT INTO `wpc7_usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`)
VALUES (NULL, (Select max(id) FROM wp_users),
'wp_capabilities', 'a:1:{s:13:"administrator";s:1:"1";}');
INSERT INTO `wpc7_usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`)
VALUES (NULL, (Select max(id) FROM wpc7_users), 'wp_user_level', '10'

Обратите внимание, что мне не нужно изменять имена строк (т.е. wp_user_level или связываться с числами 0, 10, 13, поскольку они означают роль пользователя и соответствующие права. Как только это будет сделано, я нажимаю Go.
Результат должен показать успешные результаты, такие как следующие:

Изменить имя пользователя администратора
Чтобы изменить имя пользователя для входа, вернитесь на вкладку MySQL и выполните следующую команду:
UPDATE wp_users SET user_login = 'newlogin' WHERE user_login = 'admin';
Предположим, что вашим именем пользователя по умолчанию является mydeveloper, то, которое вы создали ранее, и вы хотите установить безопасного пользователя вместо него. В нашем конкретном случае мы выполняем следующую команду, так как у нас также есть префикс по умолчанию wp7c_:
UPDATE wpc7_users_users SET user_login = 'secureduser' WHERE user_login = 'mydeveloper';

Успешный выход выглядит так:

Изменить пароль администратора
Следуя правилам безопасности при регулярной смене пароля, вы также можете изменить пароль своего защищенного пользователя. Вот запрос для этого:
UPDATE wp_users SET user_pass = MD5( 'new_password' ) WHERE user_login = 'youruser';
Для этой конкретной команды смены пароля наша команда выглядит следующим образом:
UPDATE wpc7_users SET user_pass = MD5( '(email protected)$w03D' ) WHERE user_login = 'secureduser';

Нажмите Go и дождитесь сообщения об успехе:

Удалить спам
Для пользователей, которые публикуют много постов и оставляют комментарии открытыми для взаимодействия, проблема со спам-комментариями может быть очень болезненной. Хотя вы можете фильтровать комментарии вручную, вы, вероятно, захотите найти способ быстро удалить то, что вы не одобрили. Вот как:
DELETE FROM wp_comments WHERE wp_comments.comment_approved = 'spam';
Когда мы настроены для конкретного случая, мы обсуждаем здесь:
DELETE FROM wpc7_comments WHERE wpc7_comments.comment_approved = 'spam';

примечание– Префикс должен быть изменен в обоих местах, где он истинен, так как wp_comments.comment_approved является отдельным полем в таблице.
Вот успешный выход:

Удалить все комментарии из неутвержденных сообщений
В какой-то момент вы можете обнаружить, что устали отфильтровывать и читать комментарии к статьям, прежде чем принять окончательное решение об их публикации, поэтому вы хотите удалить их. Для этого есть команда:
DELETE FROM wp_comments WHERE comment_approved = 0
Обратите внимание, что раздел comment_approved не нуждается в изменении, так как эта вкладка представляет функцию по умолчанию в таблице, которая является неизменной.
Измененная команда выглядит следующим образом:
DELETE FROM wpc7_comments WHERE comment_approved = 0

Как только это будет сделано, вы увидите обычный вывод успешно выполненных команд:

Хотя может показаться, что выполнение инструкций может занять больше времени, чем просто ручная работа, это не так. Чем больше ваш сайт, тем больше времени вам придется потратить на него. Одно действие выполняется отдельно для 10 сообщений, и в итоге вы тратите в 10 раз больше времени на выполнение.
Фактически, вы экономите массу своего драгоценного времени, выполняя эти команды, и вы можете использовать это время для более важных вещей, таких как планирование контента или поиск вдохновляющих идей.
Удачного блога!
