WordPress functions php on plugin

Почему дополнительный код в Вордпресс лучше размещать в плагинах, чем в functions.php

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

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

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

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

Как же быть

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

Читайте также:  Two exceptions in one catch java

Создаем специальный плагин функций 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-плагинов, в отличие от обычных, не поддерживаются. В крайнем случае можно создать плагин и написать в нем простенький загрузчик, который будет загружать плагины из директорий. Примерно, так:

require WPMU_PLUGIN_DIR.'/my-plugin-1/my-plugin-1.php'; require WPMU_PLUGIN_DIR.'/my-plugin-2/my-plugin-2.php';

В заключение

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

⚡️ Подписывайся на мой канал @DanilinBiz и ты узнаешь, как зарабатывать достойные деньги на фрилансе.

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

Источник

Плагин WordPress и Functions.php. Что лучше?

плагин WordPress и functions.php

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

Установка плагина WordPress и кода в functions.php

Добавить новый функционал на сайт возможно двумя способами:

А какой способ лучше влияет на производительность и скорость?

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

Другие — что добавление кода вообще сломает сайт, а исправить это будет нелегко.

Плюсы и минусы файла functions.php

Плагин WordPress и Functions.php

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

  • Легко добавлять через встроенный редактор в админке сайта.
  • Можно копировать и вставлять все фрагменты кода в один файл.
  • У вас есть уникальный шанс изучить код и узнать, как он работает.
  • Кастомный код не будет работать, когда вы переключите тему сайта.
  • Можно и нужно использовать дочернюю тему, иначе о бновление вашей темы перезапишет файл functions.php.
  • Иногда трудно понять, где заканчивается код темы и начинается ваш.
  • Некоторые фрагменты кода могут быть слишком большими. Тогда нужно использовать дополнительные скрипты и ​​стили.

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

Добавление фрагмента кода в ваш файл functions.php влияет на производительность так же, как установка плагина. Если код такой же.

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

Теперь перейдем к плагинам.

Плюсы и минусы установки плагинов WordPress

Плагины похожи на приложения. Они содержат код для добавления новых функций на ваш сайт.

  • Плагин не зависит от вашей темы.
  • Если это тот же код, то он будет влиять на производительность так же, как и код в файле functions.php.
  • Легче управлять, отключать, обновлять или переустанавливать.
  • Автор плагина может отказать в техподдержке в будущем, особенно когда плагин бесплатный.
  • Вы не сможете изучить код.

Плагин WordPress и functions.php. Что лучше?

Если есть плагин WordPress с тем же кодом, то лучше использовать плагин.

Что касается производительности. И код плагина, и кастомный код влияют на производительность сайта одинаково. Не забываем условие: код одинаковый.

Управлять отдельными плагинами намного проще, чем редактировать один большой файл.

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

Когда нужно добавлять код в файл functions.php?

Если вы не нашли нужный плагин. Да, тогда можно использовать код.

Если вы часто используете код, тогда вам будет полезен плагин Code Snippets. С ним не нужно каждый раз вносить новый фрагмент в файл functions.php. Плагин хранит все фрагменты кода в одном месте.

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

Если вы никогда раньше не устанавливали премиум тему, посмотрите видео «Как установить тему WordPress».

Не хотите использовать премиум тему? Читайте нашу статью «18 лучших бесплатных тем WordPress».

Если у вас есть вопросы, пишите в комментариях.

И подписывайтесь на нас в Facebook, Instagram и Twitter.

Источник

Оцените статью