Где разместить пользовательские функции?


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

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

Это создает загроможденную домашнюю страницу, когда я пытаюсь внести изменения в код.

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

Author: AlxVallejo, 2012-10-11

1 answers

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

// extra functions just for nav menus
locate_template( 'php/functions.nav-menu.php', TRUE, TRUE );

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

Чистое количество плагинов не имеет значения: 200 быстрых плагины лучше, чем один медленный плагин.

Файлы шаблонов предназначены для представлений - они не должны содержать определения функций, которые там трудно найти. А шорткоды - это специальный API, а не места.

 4
Author: fuxia, 2012-10-11 18:39:47