Балаганный plugin php. Вставка PHP кода на страницу. Добавление фильтров, используя add_filter()

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


Конечно, проще и привычнее пойти традиционным путем и тупо вставить сниппет в файл functions.php вашей активной темы. Но в 9 из 10 случаев будет целесообразнее и правильнее вынести код сниппета в отдельный плагин . В крайнем случае, добавить его в специальный функциональный плагин вашего сайта. Т.н. Site-Specific WordPress Plugin , в котором-то и будет храниться весь дополнительный функционал вашего сайта.

Зачем это нужно

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

Как же быть

Нужно понять простую истину. В файле функций темы должны располагаться только функции, относящиеся к дизайну вашего сайта. Конкретно к той теме, файл функций которой редактируется. А вся т.н. «механика», рабочий функционал сайта и все его кастомизации правильнее размещать в плагинах. Или в одном плагине. Тогда при смене темы, он останется нетронутым.

Создаем специальный плагин функций WordPress

На самом деле, все делается очень просто.

  • В директории плагинов вашего WordPress создаете папку. Например: /wp-content/plugins/mysite-plugin/ ;
  • Создаете в этой папке файл, назвав его, к примеру, my-plugin.php ;
  • Вставляете в этот файл примерно такой код:
  • Переходите в настройки управления плагинами и активизируете свой новый плагин.

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

На этом можно и остановиться, но с моей стороны было бы не совсем правильно не упомянуть про т.н. MU-плагины .

MU-плагины (Must Use Plugins)

MU-плагины бывают очень полезны в случаях, когда отключение плагина недопустимо и может вызвать критические ошибки в работе сайта. Например, на клиентских сайтах. Во-избежании некорректных действий клиента в консоли управления сайтом.

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

Преимущества MU-плагинов
  • MU-плагины не нужно активировать, они всегда активны, их невозможно отключить в консоли управления сайтом;
  • MU-плагин подключается и активируется банальной закачкой файла плагина в директорию mu-plugins;
  • MU-плагины загружаются в алфавитном порядке перед загрузкой обычных плагинов.

Обратите внимание, поддиректории у MU-плагинов, в отличие от обычных, не поддерживаются. В крайнем случае можно создать плагин и написать в нем простенький загрузчик, который будет загружать плагины из директорий. Примерно, так:

В заключение

Как видите, ничего принципиально сложного в использовании функциональных плагинов нет. А преимущества их использования налицо. Мне не раз приходилось слышать такое мнение, что плагины создают на сайт какую-то неимоверную нагрузку. У многих пользователей существуют некие предубеждения о вреде использования плагинов. Это не совсем верно. Вред могут нанести левые, неизвестно кем разработанные и неизвестно откуда скачанные плагины. Плохая оптимизация работы плагина, использование устаревших функций PHP и WordPress. Вред может быть от большого количества одновременно работающих плагинов. Особенно с дублирующим функционалом. Возможен и банальный конфликт плагинов, плагинов с темой. А при грамотном и разумном подходе, плагины принесут вашему сайту исключительно пользу .

Всё самое новое и интересное из мира Вордпресс в моём Телеграм-канале . Подписываемся!

Если вы хотите, чтобы ваш блог работал нормально, было бы здорово рассмотреть возможность модификации или обновления версии PHP. Новая версия PHP (PHP7) пока еще недостаточно распространена, но это не будет долго, так как эта новая версия принесет много новинок, и очень вероятно, что эта версия требуется для всего хостинга WordPress.

Почему вы должны перейти на PHP 7

Если вы используете сайт WordPress на своем сервере, вы, очевидно, уже установили PHP. Итак, зачем обновляться, когда все работает так хорошо?

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

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

Это все обоснованные причины, но перед тем, как идти вперед и обновлять PHP, есть недостатки для обновления, которые вы должны учитывать и внимательно прочитать.

Также будут рассмотрены важные побочные эффекты...

Если вы хотите переключиться, все не обязательно розовые, к сожалению.

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

Каждая версия PHP предлагает новые варианты, улучшения и возможные исправления, патчи безопасности и структуры кода. Хотя некоторые обновления менее полны, чем другие, многие версии включают улучшения или модификации, которые делают некоторые части более старых версий устаревшими.

В некоторых случаях целые версии, такие как PHP 4 и более, больше не поддерживаются. Если вы используете плагины, темы или сценарии на вашем сайте, которые зависят от устаревшего кода PHP и обновления до более новой версии PHP, обновление сделает код устаревшим и, таким образом, сломает ваш блог. ,

Хотя это все еще не так, важно понимать, что сделанные вами изменения будут иметь влияние, которое у вас есть. Таким образом, вы можете рассмотреть различные проблемы совместимости.

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

Проверка совместимости PHP

Вот некоторые плагины, которые вы можете использовать для проверки совместимости вашей среды с обновленной версией PHP:

  • Проверка совместимости PHP - Этот плагин позволяет вам определить версию PHP и провести анализ по сравнению с текущей версией PHP на вашем хостинге. Он также создает отчет, чтобы рассказать вам, что исправить.
  • Ник PHP Compiler - Инструмент проверки PHP для проверки неопределенных функций и методов.
  • Error Log Monitor - Если есть ошибки, вы можете активировать журнал, чтобы отслеживать все ошибки, что поможет вам облегчить их устранение.

Вы также можете включить частный журнал ошибок вручную, используя " WP_DEBUG ». Вы также можете увидеть, что изменилось для каждой версии PHP до обновления:

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

Как изменить PHP версии

Резервное копирование версии выполняется автоматически при изменении версии.

Это все, что вы можете сделать, чтобы обновить свою среду. Если у вас есть какие-либо вопросы, не стесняйтесь оставлять комментарии.

Практически каждый, кто ведет блог на WordPress и самостоятельно занимается его обслуживанием, знает о существовании волшебного файла functions.php. Часто его применяют абсолютно не по назначению, что может привести к существенным проблемам. Давайте вместе более детально разберемся с этим вопросом.

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

Плагины и functions.php

Многие владельцы сайтов на WordPress твердо убеждены, что плагины непременно будут нагружать и тормозить блог. А если просто добавить код в functions.php, то это никак не повлияет на нагрузку. Увы, это не совсем так…

Дело в том, что нагрузку вызывает не конкретно плагин, а его неверно написанный код, который, легко может попасть и в functions.php из очередного руководства.

Давайте посмотрим в чем главные отличия плагина и functions.php.

Принципиальное отличие плагина от файла functions.php — в назначении и порядке выполнения.

Также необоснованно мнение, что код в functions.php выполнится быстрее, чем в плагине. Один и тот-же код в плагине и в functions.php выполнится с одинаковой скоростью и нагрузкой.

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

Если Вы обычный блоггер и далеки от веб-разработки, то при выборе плагина обязательно обращайте внимание на отзывы в репозитории WordPress и на блогах авторов или веб-разработчиков.

Если все еще остались сомнения — сделайте чашечку кофе и обязательно прочтите статью Константина Ковшенина на WP Magazine — «Вся правда о functions.php ». В первой части просто и доступно рассказывается почему не стоит верить в мифы о functions.php.

Плагин как альтернатива файлу functions.php

Все дополнения, которые Вы вносите в файлы шаблона (скрипты, счетчики, функции) могут быть утеряны при смене активной темы или применении обновлений для нее. Чтобы избежать этого и не создавать хаос в functions.php, предлагаю Вам воспользоваться своим личным плагином.

Давайте создадим свой плагин — альтернативу файлу functions.php. Не стоит пугаться, он будет выглядеть один в один как любимый functions.php 🙂 . Все, что потребуется — просто добавить пустой плагин на свой сайт. И затем в него можно вставлять необходимый код, как раньше делали это c functions.php.

Прежде всего нам нужно создать на компьютере файл с названием functionsphp.php и добавить в него следующий код:




Top