Intereting Posts
Запрос для меню в бэкэнд (BE) Возвращаемая ошибка при комментировании помечена как спам Как ограничить определенные типы сообщений чтением или добавлением определенных пользовательских ролей (например, автора)? Как остановить продолжение сообщений во втором цикле с того места, где первый закончился Можно ли свободно изменять имя папки темы WordPress, и ничего технически не происходит Передача формы данных на страницу wordpress Сделайте форму, которая отправит электронное письмо всем авторам в выбранной категории Несколько сайтов, которые используют некоторые страницы, но не другие. Как добавить и отобразить изображение таксономического термина в любом шаблоне? (Таксономические образы) Как фильтровать заголовки и атрибуты alt в ярлыке галереи? Добавление раздела в строке в главном меню навигации в php Отображение содержимого страницы ПОСЛЕ петли сообщений WP_Query не может исключить более одного автора? Ограничить CSS на одной странице Как получить постоянную ссылку на страницу при загрузке моего плагина

Объявить функцию перед подключением плагина в файле functions.php темы

Я работаю с плагином, который объявляет функцию, используя этот формат:

if (!function_exists('ABdevDND_get_current_post_type')){ function ABdevDND_get_current_post_type() { ... } } 

Я пытаюсь объявить его в файле functions.php моей темы, просто используя:

 function ABdevDND_get_current_post_type() { ... } 

Но мое время ошибочно, и я получаю Fatal error: Cannot redeclare ABdevDND_get_current_post_type() .

Как и где я могу объявить эту функцию, чтобы она была объявлена ​​перед плагином?

Solutions Collecting From Web of "Объявить функцию перед подключением плагина в файле functions.php темы"

Вы не можете сделать это в теме, потому что темы загружаются после плагинов.

Используйте специальный плагин, возможно, mu-plugin, потому что они загружаются раньше обычных плагинов.

На обратном здесь я недавно имел вопрос о теме, переопределяющей функцию плагина при активации плагина. Код темы загружается до активации плагина, чтобы буферизовать любые фатальные ошибки. Вы увидите ранее объявленную ошибку, даже если цепочка действий по-прежнему работает правильно после активации. Вы можете использовать это, чтобы отключить переопределение функции для страницы плагинов, где вам, скорее всего, это никогда не понадобится.

Было бы замечательно, если бы WordPress попытался активировать плагин перед plugins_loaded , но здесь это не так.

 global $pagenow; if ( $pagenow !== 'plugins.php' ) { //declare your function here }