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

Дата публикации:Август 15, 2013

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

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

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

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

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

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

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

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

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

Поделиться

4 комментария

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

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

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

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

    • Architect Of Ruin says:

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

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

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

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

    • Architect Of Ruin says:

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

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

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

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

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