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)