Переносим плагины в functions.php

Хозяину на заметку - functions.php в теме WordPress можно назвать аналогом личного плагина темы.

Код многих простых плагинов можно просто скопировать из их файлов в этот functions.php и всё будет работать. Это очень полезно для оптимизации, особенно если названия функций в плагинах не конфликтуют. Разумеется, плагины при таком переносе следует деактивировать.

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

К примеру, к таким плагинам относятся

  1. Disable Revisions and Autosave - отключение ревизий и автосейвов
  2. Post List - вывод анонсов постов по заданной теме
  3. Select Posts Character Count Admin - подсчёт количества знаков в постах (удобно для работы с авторами)
  4. Posts Date Ranges - выборка постов в админке по заданной дате
  5. RusToLat - представлять не нужно
  6. Admin Author Filter - выборка постов в админке по заданному автору

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

Сколько получилось? Шесть? Значит, будет убрано шесть обращений к файловой системе - хороший выигрыш, если не сказать - великолепный. Ибо functions.php и так присутствует в теме, как правило.

Если у вас больше таких простых плагинов - значит при такой оптимизации будет убрано ещё больше обращений к серверу

Заодно меньше будет операций по установке и закачке плагинов при настройке нового сайта.


2 Responses to “Переносим плагины в functions.php”

  1. Otshelnik-fm Says:

    Ещё добавлю -

    есть плагины которые можно встроить не в functions.php, а прям в страницу. Например я вывожу последние комментарии (ajax с пагинацией) на отдельной странице сайта. Ну и встроил функцию прям в эту страницу - т.к. на других она мне не нужна.

    Плагин кнопок комментирования - встроил в файл comments.php - который отвечает за форму комментариев. И соответственно теперь эта функция используется только в полной записи, а например в архиве или на главной странице она не нужна и не используется.

    Буквально недавно проделал эти операции на локальной машине. Скоро вынесу на основной интернет сайт.

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

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

  2. eSTet Says:

    Таки да, могут принести геморрой :)
    поэтому я лично решил даже в functions не запихивать
    а делать мультиплагин, то есть сливать простые плагины с похожими функциями в 1 файл

Leave a Reply




#hello#