-
-
Save carmolim/7b63da2e1d9240263934f6577b157e4c to your computer and use it in GitHub Desktop.
Ajax no Wordpress. Faça do jeito certo!
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <?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