Вопрос или проблема
У меня такая ситуация: когда я пытаюсь предварительно просмотреть любую тему, у меня мультисайт WordPress, и эта структура доменов настроена в подкаталогах, а мой основной хост https://mipage/ и сайты (подкаталоги) https://mipage/shop/, https://mipage/gallery/ и т.д.
Во-первых. У каждого сайта в подкаталоге есть одна и та же родительская тема и одна и та же дочерняя тема, родительская тема содержит search.php и index.php.
Во-вторых. Когда я делаю поиск на https://mipage/shop/?s=article, сайт просто перезагружает текущую страницу, я знаю, что это происходит потому, что этот сайт не находит search.php из своей родительской темы. Но когда я делаю поиск с любого другого сайта, поиск работает и показывает результаты.
Я уже восстановил постоянные ссылки и также проверил файл .htaccess, но это не решило проблему. Я что-то упускаю?
Ответ или решение
Когда вы сталкиваетесь с ошибкой при предварительном просмотре любой темы в WP (WordPress) на multisite с использованием подкаталогов, важно учитывать множество потенциальных причин этой проблемы. Рассмотрим несколько ключевых моментов, которые могут помочь в решении вашей проблемы.
1. Понимание структуры многосайтового WordPress
Ваша настройка multisite с подкаталогами означает, что все ваши сайты (например, https://mipage/shop/
и https://mipage/gallery/
) используют одну и ту же базу данных, что может создавать конфликты при работе с темами и плагинами. Убедитесь, что дочерние темы правильно настроены для работы с многосайтовой структурой.
2. Проверьте корректность подключения тем
Каждый сайт в вашей сети должен правильно ссылаться на свою родительскую и дочернюю темы. Для этого необходимо убедиться, что:
- В настройках каждого сайта выбрана правильная дочерняя тема.
- Файлы
style.css
иfunctions.php
вашей дочерней темы правильно подключены. - В файлах родительской темы присутствуют необходимые шаблоны, такие как
index.php
иsearch.php
.
3. Проблемы с шаблонами
Как вы отметили, при выполнении поиска на сайте https://mipage/shop/?s=article
, запрос обрабатывается, но страница просто перезагружается. Это может указывать на:
- Отсутствие файла
search.php
в родительской теме (хотя вы упоминали, что он есть). - Неправильное использование функции
get_template_part()
илиget_header()
, которые могут вызывать проблемы при загрузке шаблонов. - Конфликты между дочерней и родительской темами.
4. Перепроверка постоянных ссылок и .htaccess
Вы уже упомянули, что восстанавливались постоянные ссылки и проверялись настройки .htaccess. Убедитесь, что .htaccess имеет правильные правила для работы с многосайтовыми структурами. Проверьте, чтобы файл .htaccess содержал следующие строки:
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
Если по-прежнему не работает, попробуйте временно переключиться на стандартную тему WordPress (например, Twenty Twenty-One) и проверьте, сохраняются ли проблемы. Это может помочь определить, связаны ли ваши проблемы с конкретной темой.
5. Плагины и конфликты
Иногда плагины могут вызвать конфликты. Попробуйте временно отключить все плагины на сайте, чтобы проверить, не изменится ли поведение поискового запроса и предварительного просмотра тем. Если после отключения плагинов проблема исчезнет, включайте их по одному, чтобы выяснить, какой из них вызывает конфликт.
6. Консоль разработчика и ошибки PHP
Также не забудьте проверить консоль разработчика (вкладка "Сеть" в Инструментах разработчика вашего браузера) на наличие ошибок JavaScript или запросов, которые не обрабатываются. Кроме того, включите сообщения об ошибках PHP, добавив следующие строки в wp-config.php:
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
Это создаст файл журнала ошибок в папке wp-content
, который может дать дополнительную информацию о проблемах.
Заключение
Надеюсь, эти рекомендации помогут вам разобраться с указанной проблемой. Если проблема не будет решена, рекомендуется обратиться к службе поддержки вашего хостинга или к специалисту по WordPress, чтобы глубже проанализировать вашу установку. Не забывайте делать резервные копии перед внесением изменений, чтобы избежать потери данных.