#php #wordpress #url #redirect
#php #wordpress #url #перенаправление
Вопрос:
Я создаю плагин WordPress и использую wp_redirect() на одной странице для перехода на другую.
В первом файле я использую wp_redirect(), который принимает URL в качестве аргумента, созданный с использованием site_url().
После перенаправления, во втором файле, если я пытаюсь вызвать site_url(), или wp_redirect(), или home_url(), я получаю сообщения вроде этого: «Неустранимая ошибка: вызов неопределенной функции site_url() …«, то же самое для wp_redirect() и home_url().
Похоже, что эти функции не распознаны.
Я упоминаю, что эти 2 файла находятся в одном каталоге.
Можете ли вы мне помочь, пожалуйста?
Спасибо!
Комментарии:
1. Похоже,
wp_redirect
предназначен для перенаправления на страницу, которой нет на вашем WP-сайте. Это то, что вы намереваетесь? В противном случае, если вы хотите перенаправить на другую страницу, которая находится в вашей установке WP, почему бы просто не использовать ссылку? Может быть, поделитесь своим кодом, чтобы мы могли точно видеть, что вы пытаетесь сделать. Ссылка: developer.wordpress.org/reference/functions/wp_redirect2. Под URL я подразумевал ссылку на второй файл, который находится в той же папке, что и первый, в которой я создаю перенаправление. Мне удалось заставить это работать, включив «wp-load.php » во втором файле.
3.
wp-load
заключается в том, чтобы буквально загрузить WordPress в начале загрузки вашего сайта. Похоже, что анти-шаблон для навигации таким образом. Более распространенным способом навигации является использование URL-адресов страницы / публикации, которые соответствуют вашим PHP-файлам по логике иерархии шаблонов. Если только нет какой-то очень конкретной причины, по которой вам нужно полностью выйти из WP, а затем перезапустить его снова при следующем просмотре, это кажется неправильным. Еще один важный ресурс: developer.wordpress.org/themes/basics/template-hierarchy4. Спасибо за вашу помощь! Я прочитаю предоставленные вами ресурсы. Я новичок в WordPress, и это полезно.
Ответ №1:
Если это кому-нибудь поможет, мне удалось заставить это работать.
Я включил «wp-load.php » во втором файле, и теперь он работает нормально.