Created
June 28, 2012 14:19
-
-
Save samuelsimoes/3011642 to your computer and use it in GitHub Desktop.
Revisions
-
samuelsimoes renamed this gist
Oct 24, 2012 . 1 changed file with 17 additions and 10 deletions.There are no files selected for viewing
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 charactersOriginal file line number Diff line number Diff line change @@ -1,28 +1,35 @@ #Ajax no Wordpress ###functions.php (ou arquivo incluído) ```php <?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" um objeto 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. 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']; } ?> ``` ###samuel.js ```javascript jQuery.ajax({ url: bloginfo.ajaxurl, type: 'post', @@ -32,4 +39,4 @@ jQuery.ajax({ nome: 'Samuel Simões' } }); ``` -
samuelsimoes created this gist
Jun 28, 2012 .There are no files selected for viewing
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 charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,35 @@ <?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>