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.

Revisions

  1. @samuelsimoes samuelsimoes renamed this gist Oct 24, 2012. 1 changed file with 17 additions and 10 deletions.
    27 changes: 17 additions & 10 deletions gistfile1.aw → gistfile1.md
    Original 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

    #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
    #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 samuel no wp_head (não esqueça do jQuery também).
    #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
    #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
    #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
    ###samuel.js
    ```javascript
    jQuery.ajax({
    url: bloginfo.ajaxurl,
    type: 'post',
    @@ -32,4 +39,4 @@ jQuery.ajax({
    nome: 'Samuel Simões'
    }
    });
    </script>
    ```
  2. @samuelsimoes samuelsimoes created this gist Jun 28, 2012.
    35 changes: 35 additions & 0 deletions gistfile1.aw
    Original 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>