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

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

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

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

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

Solutions Collecting From Web of "Где разместить пользовательские функции?"

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

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

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

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

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