- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Как удалить плохие SEO-ссылки и очистить ссылочную массу сайта
Применяем отклонение ссылок
Сервис Rookee
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Ребята, подскажите, никак не могу понять как лучше, работает и так, и так...
В общем, есть такая функция в родительской теме Wordpress:
Я ее себе беру в дочернюю тему, ну и изменяю по своему усмотрению, только как правильнее ее прописать в дочерней теме:
1) Просто написать саму функцию:
2) Или все же тоже и в дочерней теме взять и окутать ее в тег "если не существует":
Попробовал оба варианта работают одинаково, вот и возник вопрос, а как будет правильнее?
ChrisKorr, зависит от политики проекта. function_exists используется, когда предпологается переопределение функции. В вашем случае без разницы.
ChrisKorr, зависит от политики проекта. function_exists используется, когда предпологается переопределение функции. В вашем случае без разницы.
Ну, и отлично, тогда буду без нее, чтоб поменьше кода было. Спасибо
ChrisKorr, Тут скорее вопрос даже не в "дочерних" темах, а в плане "хорошего тона" в программировании.
Попробовал оба варианта работают одинаково
А они и будут работать одинаково, если угадаете и не вляпаетесь. Эта проверка сделана для того, чтобы случайно не назвать функцию таким же именем, какое присвоено какой-то уже существующей функции. Вордпресс так устроен, что в нём используются 100500 функций в глобальном пространстве (вне специфических объектов). Поэтому, придумывая свою собственную функцию, Вы запросто можете использовать для неё уже используемое имя. И получите ошибку PHP.
Ну, и отлично, тогда буду без нее, чтоб поменьше кода было. Спасибо
mmkulikov, безсмысленно делать вещи, которые не пригодятся. Если не нужно каждую функция/класс проверять на повторное объявление - значит не нужно.
Эта проверка сделана для того, чтобы случайно не назвать функцию таким же именем, какое присвоено какой-то уже существующей функции.
В данном случае проверка не из-за того "чтобы случайно не назвать функцию таким же именем"
Ага. А потом установите какой-то плагин, который определит такую же функцию раньше Вашей - и будет кирдык сайту.
Вы не видите пользы в ошибках? :) В данном случае ошибка - это лучшее что может быть...
Если не нужно каждую функция/класс проверять на повторное объявление - значит не нужно.
Это изречение так же справедливо, как и противоположное:
Если нужно каждую функцию/класс проверять на повторное объявление - значит нужно.
Тавтология называется.
Sitealert, дело в том, что вы не понимаете когда это нужно, а когда нет. Бессмысленно заниматься раздувательством кода. ТС например по своей внутренней политике понял, что ему function_exists не нужен, значит он не нужен.
---------- Добавлено 13.02.2019 в 21:24 ----------
из-за function_exists могут происходить магические вещи
ТС например по своей внутренней политике понял, что ему function_exists не нужен
ТС это понял исключительно с Вашей подачи, а не по каким-то своим соображениям.
Я объясню немного почему ошибки это хорошо. Ошибки хороши когда мы работаем над программным решением. Устанавливая плагин или редактируя код (а это одно и тоже) - мы работаем над сайтом, если немного абстрагироваться - над программным решением. Если появилась ошибка во время нашей работы - отлично, нужно посмотреть из-за чего и решить, debug в помощью. debug - это лучший помощник программиста! Если использовать function_exists там, где не нужно повторное определение функции - это приведет к непонятному поведении, например
А потом установите какой-то плагин, который определит такую же функцию раньше Вашей - и будет кирдык сайту.
лучше чтобы был кирдык, чем произошло переопределение функции.
Но ошибки это плохо когда пользователи юзают программное решение. Этого нужно избегать.
Под мы я имею ввиду всех программистов.
---------- Добавлено 13.02.2019 в 21:45 ----------
ТС это понял исключительно с Вашей подачи, а не по каким-то своим соображениям.
Я и близко не писал, что это уменьшит код. function_exists используется когда это нужно проекту, это действительно так. Т.е. перед началом коддинга делается план на проект, принимаются привила которым нужно следовать.
Если использовать function_exists там, где не нужно повторное определение функции
А Вы точно понимаете, о чём пишете? Покажите мне, как повторно определить функцию, если это нужно.