Imagine que você está criando um código, e numa parte dele você ainda não sabe o que vai acontecer, mas quer preservar um espaço para uma função nessa parte do código.
Pra isso nós vamos usar a função do_action(). Dentro dos parênteses vamos passar o nome da ação e se precisar, alguns argumentos. Depois, quando decidimos o que vai acontecer nessa parte do código, no arquivo functions.php ou algum arquivo do plugin vamos definir essa função usando add_action();
1 do_action($tag, $arg= '', $arg2= '', ...);
$tag – é o nome do hook
$arg – podemos passar várias variáveis aqui para depois trabalhar com elas.
Exemplo
Suponhamos que criamos uma página com informação da empresa, e nessa página vamos ter um bloco que vamos passar a informação depois.
1 do_action('info_block');
Depois que decidimos o que vamos criar naquele bloco de informação, no arquivo functions.php criamos o seguinte código
Primeiro parâmetro é o nome do hook, que já criamos, e segundo parâmentro é o nome da função.
1 add_action('info_block', 'add_my_info_block');
2 function add_my_info_block() {
3 echo 'O endereço da empresa: Av. Brasil, 223, bairro ...';
4 }
Leia mais sobre HOOKS