';

Essa dica de hoje é para mostrar para galera #soudev, como utilizar ajax nos temas do wordpress.

De acordo com a documentação do WordPress, ele recomenda que voce envie as requisições ajax para o arquivo admin-ajax.php, que fica em http://www.seusiteemwordpress.com.br/wp-admin/admin-ajax.php.

Nesse arquivo, será feita a requisição da função que você quer executar. Sendo assim, basta adicionar os hooks para que o wordpress chame a sua função quando requisitada.

Para isso, no arquivos functions.php do seu tema, adicione a sua função ajax e os hooks.

Por exemplo, adicionando hooks ajax para uma função que se chama doStuff()
[php]
function doStuff()
{
//doSomeStuff
die(); //Lembre sempre de finalizar a execução pois, caso contrario o wordpress retornará 0.
}
//Adiciona a funcao extra votos aos hooks ajax do WordPress.
add_action(‘wp_ajax_doStuff’, ‘doStuff’);
add_action(‘wp_ajax_nopriv_doStuff’, ‘doStuff’);
[/php]

São usados 2 hooks, o wp_ajax_FUNÇÃO e o wp_ajax_nopriv_FUNÇÃO onde o nopriv é para que a função possa ser executada por usuários não logados,
uma vez que a outra executa somente para usuarios logados.

Esse é o “pulo do gato”, pois alem disso você precisa apenas usar uma funçãozinha ajax do jquery.

Com o jquery faça:
[js]
$.ajax({
type: ‘POST’,
url: ‘/wp-admin/admin-ajax.php’,
data: ‘action=doStuff’,
success: function( response ){
alert(‘sucesso’);
}
});
[/js]
Lembrando que nos dados a serem passados, deve constar “action” e o nome da função que você deseja chamar.

Por hoje é só pessoal!
Valeu.


3 Comments

Luis Fillipe · 2011-11-08 at 21:28

sou bem leigo em ajax..eu sou dono do http://twittercomhumor.com e gostaria de colocar o mesmo efeito que o nao intendo colocou no blog dele em ajax, pra navegar entre as paginas, alguem poderia me ajudar? to lendo sobre ajax mas nao entendi nada =
O meu blog: http://twittercomhumor.com
O efeito que eu quero tá no http://naointendo.com.br ao navegar entre as paginas..tipo da um pra dois..e por ai vai

Guilherme Coelho · 2018-02-08 at 17:43

Amigo, aonde coloco o AJAX?

Entendi perfeitamente os hooks!

    emersonbroga · 2018-02-08 at 18:46

    no javascript do seu tema.
    ou no footer.

    (lembrando que esse post foi escrito 8 anos atras)

Leave a Reply

Avatar placeholder

Your email address will not be published. Required fields are marked *