Nano Hash - криптовалюты, майнинг, программирование

PHP/Wordpress, дочерние темы и функции уже определены

Мне интересно (у меня есть полный доступ к подаче, если это настройка php.ini), можно ли вообще «отключить синтаксический анализ функций, если функция уже определена» вместо того, чтобы выдавать ошибку/уведомление об этом?

Например, /www/main/deep/file/file.php имеет:

function homepage_filter_get_map () {

    // example1
    $generic_filter_array = td_generic_filter_array::get_array();

    }

а в /www/main-child/custom.php есть, который вызывается/included/parsed перед файлом выше:

function homepage_filter_get_map () {

    //do nothing

    }

По сути, я ищу способ подавить любые и все ошибки, выводящие об уже определенных функциях, при этом молча игнорируя функции, которые могут иметь точно такое же имя, но уже проанализированы/определены.

Моя проблема в том, что тема, которую я использую, не имеет полной поддержки дочерних тем Wordpress, в основном это файлы циклов. Я знаю, что могу просто настроить исходные файлы, но я хочу иметь возможность обновлять тему, не стирая каждый раз все наши пользовательские настройки.

Примечание. Да, я знаю, что вы можете вызывать функции по условию, но опять же, я ищу способ сделать это без редактирования каких-либо "основных" файлов, поскольку любые изменения, внесенные в них, перезаписываются при обновлении. родительская тема.


Ответы:


1
if(!(function_exists('homepage_filter_get_map'))){
    function homepage_filter_get_map(){
        //do code
    }
}

Это проверяет, существует ли функция «homepage_filter_get_map». Если это не так, создайте функцию.

01.08.2014
  • Да, но это правильный способ сделать это. Что я хочу сделать, так это иметь 2 файла с одинаковым именем функции, но file1.php имеет оригинал, а file2.php - обновленный. Вызываются оба файла, хотя сначала вызывается file2.php. Я не хочу трогать файл1.php, но если функция существует в файле2.php, я хочу, чтобы она использовалась, а любые возникающие ошибки/уведомления отбрасывались, когда файл1.php анализируется, и он говорит, что функция уже определена. Это единственный способ сделать это, пока разработчики темы не изменят ВСЕ существующие функции во ВСЕХ файлах, чтобы они были совместимы с дочерней темой. 02.08.2014
  • Мне кажется, что вы могли бы просто создать две отдельные функции. Думаю, я все еще немного смущен вашим запросом. 11.08.2014
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..