Автоматическое создание функционального плагина в WordPress

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

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

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

Установите и активируйте плагин, после чего у вас появится новый пункт меню Edit Functions под меню с плагинами. Теперь вы можете использовать встроенный в WP файловый редактор для быстрого редактирования вашего функционального плагина.

Преимущества использования плагина Functionality:

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

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

Если вам нравится добавлять произвольные фрагменты кода в WordPress, этот плагин может стать обязательным для всех ваших сайтов. Загрузить плагин можно бесплатно с сайта WordPress.org.

Источник: wpmu.org

Блог про WordPress
Комментарии: 5
  1. Otshelnik-fm

    Плагин для создания плагина? Не проще ли выучить десять строк для создания плагина и перенести каждый код в них?

    И по поводу файла в теме functions.php — как часто вы меняете темы? Редко? Тогда зачем городить огород?

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

    А вот если вы создаете тему вордпресса для распространения другим пользователям?
    Вы каждому будете давать инструкцию — «возьми файл my_plugin_functions.php, помести его в папку плагинов вордпресса, зайди в админку…» — это бред если функция оформленная плагином не содержит настроек в админке. Проще взять тему с вписанной функцией в файле functions.php, активировав тему все заработает

    1. Дмитрий (автор)

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

  2. Otshelnik-fm

    «Потом потратил очень много времени на восстановление функционала» — это много времени чтоб скопировать код из functions.php? Ведь даже используя плагины, некоторые функции вызова вам надо будет ручками вписывать в файлы темы — например в single.php вам надо будет вставить вызов количества просмотров статьи в нужный вам блок.

    p.s. пожелание по блогу — сделайте кнопки цитирования, выделения жирным и т.д. для форматирования комментариев.

    И второе — хочется поучаствовать в дискуссии, но у вас нет отдельной страницы последних комментариев. А будет полезно

    1. Дмитрий (автор)

      «это много времени чтоб скопировать код из functions.php»

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

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

  3. Николай

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

Добавить комментарий

Получать новые комментарии по электронной почте.