У меня возникла новая проблема, которая возникла из ниоткуда или, по крайней мере, не была обнаружена до сих пор. Произошли обновления Wordpress или PHP, поэтому я предполагаю, что это проблема совместимости, поскольку раньше она работала.
Ошибки, перечисленные в отладке:
Примечание: Неопределенный индекс: запись в functions.php в строке 163.
Примечание: неопределенный индекс: post_ID в functions.php в строке 163.
Примечание: Неопределенный индекс: post_type в functions.php в строке 164
Примечание: Неопределенный индекс: страница в single-location.php в строке 9
Вот строки, на которые есть ссылки в моем файле functions.php.
$post_id = $_GET['post'] ? $_GET['post'] : $_POST['post_ID'] ;
$post_type = $_GET['post_type'] ? $_GET['post_type'] :get_post_type($post_id);
А вот строка, на которую указывает ссылка, в моем файле single-location.php:
// single location template
$this_page = $_GET['page'];
У меня есть веб-сайт, который использует несколько местоположений ресторанов, и на веб-сайте есть разные местоположения и разные данные для каждого местоположения.
Я пытался изменить код, используя другие сообщения и решения, но пользовательский интерфейс не увенчался успехом во многих моих попытках.
Любая помощь или руководство очень ценятся.
Вы можете взглянуть на оператор объединения NULL.
Учитывая синтаксис, который вы пробовали, вы, вероятно, ищете:
$post_id = $_GET['post']??$_POST['post']??123; // 123 == default
$post_type = $_GET['post_type']??get_post_type($post_id);
Этот синтаксис включает связанный оператор объединения NULL. Первая строка назначит $post_id
, если $_GET['post']
не NULL
. Если это так, он проверит $_POST['post']
значение NULL
. Если это не так, $post_id
примет значение $_POST['post']
. Наконец, если ни один из них не был установлен, $post_id
становится 123
.
То же самое касается $post_type
, сначала проверяется $_GET
, затем «по умолчанию» возвращается значение get_post_type()
.
Ваше решение, похоже, позаботилось о моих ошибках, за исключением одной на фактической странице «местоположения», которая отображает этот контент. единственная проблема, с которой я столкнулся, это третья ошибка, $this_page = $_POST['page']; Заранее извиняюсь за свою неосведомленность. Кто-то помог создать этот сайт почти 7 лет назад, и, похоже, у меня возникли проблемы с исправлением этих проблем. спасибо за вашу помощь до сих пор!
Я заставил его работать. Не уверен, что случилось с предыдущим, не работающим на странице местоположений, но вы помогли мне больше, чем вы думаете. Спасибо Ро и остальным за подсказки.
Рад узнать, что ты взломал его. Удачного кодирования!
Отвечает ли это на ваш вопрос? «Уведомление: неопределенная переменная», «Уведомление: неопределенный индекс» и «Уведомление: неопределенное смещение» с использованием PHP