Onde colocar funções personalizadas?

Direto da pergunta: parece que existem tantos lugares para colocar o código personalizado: functions.php, plugin, template, shortcode. Ter muitos plugins retarda os tempos de carregamento, inflando o arquivo functions.php pode ser incontrolável, o mesmo com um modelo e os códigos de curto depende da situação.

Tenho uma página inicial com muitos códigos personalizados e consultas sobre: ​​Últimos comentários, conteúdo mais popular, conteúdo mais gostado, conteúdo destacado, controle deslizante personalizado de conteúdo em destaque, postagens mais recentes, etc.

Isso faz uma página inicial desordenada quando estou tentando fazer edições no código.

Eu usei códigos curtos para muitas consultas, mas ainda estou com uma página desordenada. Meus plugins são maxed out (39 ativos) e minhas funções também estão cheias. Estou comendo muito código personalizado no meu site, mas estou curioso quanto ao que você pensa sobre a melhor maneira de organizar todas as suas funções personalizadas. Como você escolhe entre colocar seu código em functions.php e torná-lo um plugin? Existem formas de estender funções.php para que você não precise executar sua contagem de plugins e você pode organizar melhor suas funções personalizadas?

Solutions Collecting From Web of "Onde colocar funções personalizadas?"

Organize seu código por sua finalidade: se ele cria saída no front-end e requer mudanças na folha de estilo do seu tema – pertence ao tema. Você não precisa colocar tudo nas functions.php , divida o código em vários arquivos se isso ajudar.
Por exemplo, como isto:

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

Se ele deve sobreviver a uma opção de tema (Custom Post types, shortcodes) ou não está relacionado ao tema – pertence a um plugin.

O número puro de plugins é irrelevante: 200 plugins rápidos são melhores do que um plugin lento.

Os arquivos de modelo são para exibições – eles não devem conter definições de funções que são difíceis de encontrar. E shortcodes são uma API especial, não lugares.