Nada. Uma função theme_name_setup()
nem deveria existir.
-
O nome é muito vago. O que significa configuração ? Esta é também a raiz da sua pergunta, porque esse nome não nos diz nada sobre o que a função faz. Poderia ser qualquer coisa ou nada. Tecnicamente, os temas nem precisam de
functions.php
. Mas eles funcionam, a configuração acontece pelo WordPress. -
Ele viola o princípio de responsabilidade única . Esse termo vem do objeto programação orientada, mas a ideia se aplica a todo código bom, é até o núcleo da filosofia do UNIX : Faça uma coisa e faça bem.
Isso nos leva ao próximo problema. -
Isso prejudica a interoperabilidade. Considere a seguinte função:
add_action( 'after_setup_theme', 'theme_name_setup' ); function theme_name_setup() { require 'widgets.php'; require 'comment-enhancements.php'; require 'javascript.php'; }
O que preciso fazer para carregar apenas
widgets.php
ejavascript.php
no meu tema filho? Eu tenho que desengatar a função ampla e repetir partes do seu código. E então eu rezo para que você nunca renomeie, combine ou divida arquivos em uma atualização do seu tema pai.
Para expressar isso de uma forma mais positiva:
-
Dê a cada classe e função um nome que diga ao leitor o que ela faz. Se você não consegue encontrar um nome bom e preciso, esse código provavelmente é demais.
-
Você pode usar o mesmo gancho com vários retornos de chamada. Este é o ponto da API de ação / filtro. Use-o.
-
Tente permitir que cada função retorne um valor útil, para que você possa testá-la e depurá-la separadamente.
load_theme_textdomain()
por exemplo retornaTRUE
quando um arquivo foi encontrado,FALSE
caso contrário. Se você estiver usando uma função separada para carregar a tradução, poderá usar esse valor de retorno.