#php #wordpress
#php #wordpress
Вопрос:
По какой-то причине
namespace yd_custom_hero_cards {
if (!is_plugin_active('yd-hero-cards/plugin.php')) {
add_action('wp_enqueue_scripts', 'yd_custom_hero_cardsload_custom_bbhc_user_styles');
}
}
отлично работает в экземпляре docker, но возвращает
PHP Fatal error: Uncaught Error: Call to undefined function yd_custom_hero_cardsis_plugin_active() in ...
на другом, не контейнерном, хосте. PHP имеет ту же версию (7.4), и я сравнил настройки, и они относительно одинаковые. Ошибка появляется при попытке работы с wp cli или при доступе к странице через браузер.
Если я удаляю код, я получаю предупреждения типа:
PHP Parse error: syntax error, unexpected end of file in ...
несмотря на то, что нет пропущенных завершающих операторов (фигурные скобки или endif и так далее).
Спасибо.
Комментарии:
1. Есть ли в файле начальный тег php?
<?php
2. Если вы получаете ошибку синтаксического анализа, это потому, что есть ошибка синтаксического анализа. Если вы получаете ошибку «неопределенная функция», это потому, что код, определяющий функцию, не был включен. Все, что определяет
is_plugin_active
, не было включено в кодовую базу.3. Да, есть открывающий тег и нет закрывающего тега с одной пустой строкой в конце файла. Все остальные открывающие теги сопоставляются закрывающим тегом.
4. @miken32 это настройка WordPress. Функция определена в файлах WordPress.
5. Как я уже упоминал, код отлично работает на одной машине, но ломается на другой. Несмотря на то, что short_open_tag включен в обоих.