# Hooks (ganchos) do Wordpress Quando o site Wordpress está carregando, ele vai executando alguns eventos dentro da sua programação. Esses eventos são o que determina o seu funcionamento e a ordem em que ocorrem as execuções no sistema. Nós podemos alterar os arquivos do sistema Wordpress em si, porém, toda vez que ele atualizar, ele irá sobrescrever os seus arquivos de sistema, ou seja, os que estão na pasta raiz e que carregam o sistema em si. No caso, o ***core*** do sistema, o Wordpress puro, sem contar a pasta de conteúdo, arquivos, plugins instalados e temas, que fica em /wp-content. Assim, uma forma de acessar o sistema de dentro da pasta do tema que estamos criando, é por meio dos hooks ou ganchos, que permanecem inalterados, mesmo como atualizações e reinstalações do Wordpress. **Veja a [documentação oficial](https://developer.wordpress.org/reference/hooks/) dos hooks Wordpress.** ##### Como usar os hooks Até a versão 6 os hooks podem ser do tipo 'action' ou 'filter'. Esta é a sintaxe para usá-los: ```PHP add_action( 'nome-da-action', 'funcao-a-executar', 'prioridade', 'argumentos' ); ``` Acima, um exemplo de action. A estrutura de um filter seria a mesma, com a diferença de que a função a ser executada sempre deve retornar um valor, e sempre vai esperar ao menos um argumento para sua execução. ```PHP add_filter( 'nome-da-action', 'funcao-a-executar', 'prioridade', 'argumentos' ); ``` Para este momento, o único que vamos fazer é criar um arquivo na pasta raiz do tema com o nome de functions.php. Este arquivo é padrão para temas Wordpress, e será aqui que vamos configurar as funções do tema. ##### O arquivo **functions.php** Os primeiros **hooks** que eu adicionei no arquivo de funções do tema, são algumas configurações básicas iniciais que todo o tema Wordpress deve ter. Para isso eu adicionei a **action** que trás uma função de carregamento junto com o tema, after\_setup\_theme. Com este **hook** eu consigo chamar uma função que eu criei, chamada de phototricks\_setup\_theme, em que eu adiciono todo o suporte ao tema através de várias outras funções padrão do Wordpress. Veja o código com a explicação de cada uma das funções: ```PHP ) add_theme_support('post-thumbnails'); // Suporte para adicionar imagens de capa nas páginas e posts add_theme_support('automatic-feed-links'); // Geração automática de links para leitores de Feed RSS $GLOBALS['content_width'] = 1130; // Largura total do conteúdo, para o ajuste de imagens e vídeos incorporados } add_action('after_setup_theme', 'phototricks_setup_theme'); // Chamada da função personalizada com as configurações de suporte do tema function phototricks_enqueue_scripts() { wp_enqueue_style('phototricks-style', get_stylesheet_directory_uri() . '/css/bootstrap.min.css'); // Adição dinâmica da folha de estilo personalizada do tema } add_action('wp_enqueue_scripts', 'phototricks_enqueue_scripts'); // Chamada para a função de configuração da folha de estilo personalizada ``` Veja que agora, tornamos o carregamento da folha de estilo dinâmica, assim finalmente, o tema não está somente acessando o Bootstrap 4.6 online, mas também o arquivo local de estilização do Bootstrap que está na pasta css do tema: [![image-1655477353203.png](https://wiki.phototricks.art.br/uploads/images/gallery/2022-06/scaled-1680-/3lzBf4rQXWkXeqJg-image-1655477353203.png)](https://wiki.phototricks.art.br/uploads/images/gallery/2022-06/3lzBf4rQXWkXeqJg-image-1655477353203.png)