Получение «Неустранимой ошибки: вызов неопределенной функции site_url()» после перенаправления

#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_redirect

2. Под URL я подразумевал ссылку на второй файл, который находится в той же папке, что и первый, в которой я создаю перенаправление. Мне удалось заставить это работать, включив «wp-load.php » во втором файле.

3. wp-load заключается в том, чтобы буквально загрузить WordPress в начале загрузки вашего сайта. Похоже, что анти-шаблон для навигации таким образом. Более распространенным способом навигации является использование URL-адресов страницы / публикации, которые соответствуют вашим PHP-файлам по логике иерархии шаблонов. Если только нет какой-то очень конкретной причины, по которой вам нужно полностью выйти из WP, а затем перезапустить его снова при следующем просмотре, это кажется неправильным. Еще один важный ресурс: developer.wordpress.org/themes/basics/template-hierarchy

4. Спасибо за вашу помощь! Я прочитаю предоставленные вами ресурсы. Я новичок в WordPress, и это полезно.

Ответ №1:

Если это кому-нибудь поможет, мне удалось заставить это работать.

Я включил «wp-load.php » во втором файле, и теперь он работает нормально.