Alguma explicação
Primeiro, você precisa entender o propósito de functions.php em um tema. Functions.php é basicamente apenas um arquivo de plugin sem qualquer nome que, se presente, é carregado automaticamente pelo Wordpress. O Wordpress carrega o function.php do seu tema atual nas páginas front-end do wordpress e também nas páginas de back-end (admin).
Não há diferença entre um plug-in e o functions.php, exceto que os plug-ins têm nome e podem ser ativados / desativados, independentemente de outros plug-ins e temas. O funtions.php é anexado ao seu tema atual e, se você alternar para outro tema, o Wordpress usa o novo functions.php do tema e não o antigo functions.php com modificações personalizadas.
As atualizações de temas também substituem o arquivo 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 no seu arquivo fucntions.php, será necessário 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 usadas nos arquivos de modelo do seu tema.
- Opções de temas
- barras laterais
- menus de navegação
- formatos de postagem
- postar miniaturas
- qualquer código que esteja relacionado apenas ao tema atual.
Como você deseja manter suas modificações personalizadas, mesmo se você alternar temas. Como o tema filho não funcionará nesse caso, você alternará o tema e o functions.php do tema filho não será usado.
A solução
A única solução recomendada pelo @Otto é criar um arquivo de plug-in. A abordagem a ser adotada para criar o plug-in específico do site é criar uma pasta com o nome do seu site em 'wp-content / plugins' e criar arquivos de plug-in nele.
Por que arquivos de plug-in? e não um único arquivo de plug-in.
Agrupe a funcionalidade do site relacionada ao código em arquivos de plug-in separados e não se esqueça de adicionar o cabeçalho do plug - in em todos os seus arquivos de plug-in para que sejam reconhecidos pelo Wordpress como plug-ins separados. Você poderá ativar / desativar diferentes recursos / funcionalidades do seu site sem quebrar tudo.