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()

<br />
function doStuff()<br />
{<br />
	//doSomeStuff<br />
	die(); //Lembre sempre de finalizar a execução pois, caso contrario o wordpress retornará 0.<br />
}<br />
//Adiciona a funcao extra votos aos hooks ajax do WordPress.<br />
add_action('wp_ajax_doStuff', 'doStuff');<br />
add_action('wp_ajax_nopriv_doStuff', 'doStuff');<br />

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:

<br />
$.ajax({<br />
	type: 'POST',<br />
	url: '/wp-admin/admin-ajax.php',<br />
	data: 'action=doStuff',<br />
	success: function( response ){<br />
			alert('sucesso');<br />
			}<br />
});<br />

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.


@emersonbroga

Formado em Desenvolvimento de Sistemas pela Faculdade Pitágoras e pós-graduado em Gestão Estratégica de Marketing pela PUC Minas trabalhei em diversas agências e atualmente trabalho em projetos internacionais como FOX.com, FXNetworks.com, NatGeo.com entre outros.