Несколько экземпляров неопределенного индекса

У меня возникла новая проблема, которая возникла из ниоткуда или, по крайней мере, не была обнаружена до сих пор. Произошли обновления 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.

Ro Achterberg 20.12.2020 17:35
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout.
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout.
Laravel Scout - это популярный пакет, который предоставляет простой и удобный способ добавить полнотекстовый поиск в ваше приложение Laravel. Он...
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для...
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для...
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
В предыдущем посте мы создали функциональность вставки и чтения для нашей динамической СУБД. В этом посте мы собираемся реализовать функции обновления...
0
2
67
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Учитывая синтаксис, который вы пробовали, вы, вероятно, ищете:

$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 лет назад, и, похоже, у меня возникли проблемы с исправлением этих проблем. спасибо за вашу помощь до сих пор!

Michael G 20.12.2020 17:52

Я заставил его работать. Не уверен, что случилось с предыдущим, не работающим на странице местоположений, но вы помогли мне больше, чем вы думаете. Спасибо Ро и остальным за подсказки.

Michael G 20.12.2020 18:04

Рад узнать, что ты взломал его. Удачного кодирования!

Ro Achterberg 20.12.2020 19:15

Другие вопросы по теме