Как вручную изменить постоянную ссылку Wordpress с идентификатора на имя страницы - PullRequest
0 голосов
/ 09 октября 2019

Я исправляю старый сайт WordPress, который не должен обновляться, но поддерживается в том же состоянии. Он был создан в 2012 году. За эти годы хостинговая компания автоматически обновила PHP и Wordpress и взломала сайт.

Мне нужно, чтобы сайт был в состоянии 2012 года, чтобы все работало хорошо. Я откатил версию Wordpress до 3.3.1, и на сайте работает PHP 5.4.

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

Моя проблема в том, что при откате постоянные ссылки вернулись к своей маршрутизации по идентификатору, а не по имени страницы. Мне нужно, чтобы они были маршрутизацией по имени страницы, но поскольку меню администратора не работает, мне нужно создать какое-то правило перезаписи в functions.php, чтобы добиться этого.

Может кто-нибудь сообщить мне, что написать по этому поводу. Я не знаком с правилами переписывания.

1 Ответ

0 голосов
/ 09 октября 2019

Это само собой разумеется, но убедитесь, что у вас есть резервная копия, прежде чем пытаться это!

Я сам не пробовал это, и я не уверен, сколько изменилось с 3.3.1, но этовот что я бы сделал:

  1. Найдите запись permalink_structure в столбце option_name таблицы wp_options .

  2. Измените option_value на структуру, которую вы хотите использовать. Например, /%postname%/

  3. Чтобы удалить постоянные ссылки или переписать правила из вашей темы, необходимо использовать функцию flush_rewrite_rules(). Добавьте функцию в ваш файл functions.php и обновите страницу, затем закомментируйте ее - вам нужно всего лишь запустить ее один раз.

  4. Убедитесь, что правила перезаписи .htaccess действуют:

# BEGIN WordPress

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# END WordPress

И, надеюсь, так и должно быть!

...