Gosto de criar funções personalizadas usando add_action() e depois do_action() em determinados locais no tema, ajuda quando preciso usar a mesma função novamente, e deixa mais organizado o código pois é possível associar várias funções no mesmo add_action() evitando assim a necessidade de escrever várias funções no single.php por exemplo.
Primeiro cria a função personalizada (ou funções):
/**
* custom function 1
* via https://code.difluir.com/
*/
if ( ! function_exists('difluir_output_hello') ) :
function difluir_output_hello() {
echo 'Hello!';
}
endif;
/**
* custom function 2
* via https://code.difluir.com/
*/
if ( ! function_exists('difluir_output_bye') ) :
function difluir_output_bye() {
echo 'Bye!';
}
endif;
Então cria o action hook:
/**
* add the function to an action hook
* via https://code.difluir.com/
*/
add_action( 'difluir_hello', 'difluir_output_hello', 10 );
add_action( 'difluir_hello', 'difluir_output_bye', 15 );
Os números 10, 15 são usados para ordenar as funções, quando serão executadas ao usar o do_action().
Pode usar outros números no lugar. Eu gosto de usar assim porque se eu quiser adicionar uma antes do 10 futuramente, só criar o 9 ou 8, ou se quiser adicionar uma entre as duas, uso 12 por exemplo.
E então é só adicionar do_action() onde quer que a função (ou funções) seja executada:
/**
* calls the callback functions that have been added to the action hook
* via https://code.difluir.com/
*/
do_action( 'difluir_hello' );