Alguma explicação
Primeiro você precisa entender o propósito de functions.php em um tema. Functions.php é basicamente apenas um arquivo de plug-in com qualquer nome que se presente é automaticamente carregado pelo Wordpress. O Wordpress carrega a função function.php do seu tema atual para páginas front-end do wordpress e também páginas de back-end (admin).
Não existe diferença entre um plugin e o functions.php, exceto que os plugins têm nome e podem ser ativados / desativados independentemente de outros plugins e temas. O funtions.php é anexado ao seu tema atual e, se você mudar para outro tema, o Wordpress usa o functions.php do novo tema e não o antigo functions.php com modificações personalizadas.
Atualizações de tema também sobrescrevem functions.php e não há como evitá-lo, mesmo se você colocar suas modificações personalizadas em arquivos de código separados e incluí-lo em seu fucntions.php, você terá que adicionar essa linha de inclusão após cada atualização .
Geralmente o tipo de código que deve ir em functions.php:
- funções que são usadas nos arquivos de modelo do seu tema.
- opções de temas
- barras laterais
- menus de navegação
- formatos de postagem
- pós miniaturas
- qualquer código que esteja relacionado apenas ao tema atual.
Como você deseja manter suas modificações personalizadas, mesmo se você mudar de tema. Como o tema filho não funcionará nesse caso, você irá alternar o tema e o functions.php do tema filho não será usado.
A solução
A única solução recomendada pela @Otto é criar um arquivo de plug-in. A abordagem que você pode tomar para criar seu plug-in específico do site é criar uma pasta com seu nome de site em 'wp-content / plugins' e criar arquivos de plug-in nela.
Por que arquivos de plugin? e não um único arquivo de plug-in.
Agrupe a funcionalidade do site relacionado ao código em arquivos de plug-ins separados e não se esqueça de adicionar o cabeçalho do plug-in em todos os seus arquivos de plugin para que eles sejam reconhecidos pelo Wordpress como plugins separados. Você terá a capacidade de ativar / desativar recursos / funcionalidades diferentes do seu site sem quebrar tudo.