Categorias:

Usar add_action() para função personalizada no WordPress

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' );