Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save carmolim/7b63da2e1d9240263934f6577b157e4c to your computer and use it in GitHub Desktop.

Select an option

Save carmolim/7b63da2e1d9240263934f6577b157e4c to your computer and use it in GitHub Desktop.
Ajax no Wordpress. Faça do jeito certo!
<?php
// Registra o seu script com o seu ajax no functions.php, no meu caso samuel.js
wp_register_script('samuel', get_bloginfo('template_directory') . "/scripts/samuel.js", array('jquery'));
// Passa para o script "samuel" uma varivável global JS com a URL do admin-ajax.php, que é o receptor padrão de todas as chamadas ajax no Wordpress
wp_localize_script('samuel', 'bloginfo', array('ajaxurl' => admin_url('admin-ajax.php')));
// Carrega o script samuel no wp_head (não esqueça do jQuery também).
wp_enqueue_script('samuel');
// Ainda no functions.php (ou outro que você esteja incluindo nele) adicione sua função nos hooks do Wordpress que lidam com Ajax
// Nomenclatura dos hooks:
// wp_ajax_nopriv_O NOME DA SUA FUNCAO
// wp_ajax_ajax_O NOME DA SUA FUNCAO
add_action( 'wp_ajax_nopriv_minha_funcao', 'minha_funcao');
add_action( 'wp_ajax_ajax_minha_funcao', 'minha_funcao');
function minha_funcao(){
return $_POST['nome'];
}
?>
<script type="text/javascript">
// No samuel.js
jQuery.ajax({
url: bloginfo.ajaxurl,
type: 'post',
data: {
// você sempre deve passar o parâmetro 'action' com o nome da função que você criou no seu functions.php ou outro que você esteja incluindo nele
action: 'minha_funcao',
nome: 'Samuel Simões'
}
});
</script>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment