wordpress API

ajax在wordpress里的运用

日期:2015-04-10 阅读:2184

dmandwp系统 - wordpress系统和DM系统区块建站>>

wordpress里有一个admin-ajax.php,这个非常有用,让你在wordpress可以灵活的使用ajax.

http://www.smashingmagazine.com/2011/10/18/how-to-use-ajax-in-wordpress/

http://w4dev.com/wp/wp_ajax  

以上两个链接写的很不错。

比如这个是什么意思呢?
function.php加:
function view_site_description(){//这是你使用ajax的具体执行内容所在。
    echo get_bloginfo( 'description', 'display' );
    die();
}
add_action( 'wp_ajax_view_site_description', 'view_site_description' );
add_action( 'wp_ajax_nopriv_view_site_description', 'view_site_description' );


wp_ajax_nopriv是用于非登录用户的。
注意红色的view_site_description,
下面来讲解
---
Anchor to be placed:

<a id="view_site_description" href="javascript:void(0);">View Our Site Description</a>
Next, Adding the JavaScript codes using wp_footer hook.

add_action( 'wp_footer', 'add_js_to_wp_footer' );
function add_js_to_wp_footer(){ ?>
    <script type="text/javascript">
    jQuery('#view_site_description').click(function(){
        jQuery.ajax({
            type: 'POST',
            url: ajaxurl, //这个是wp-admin/admin-ajax.php
            data: {"action": "view_site_description"},  

//这个很重要,它会产生上面两个hook:wp_ajax_view_site_description和 wp_ajax_nopriv_view_site_description
             //所以,这时会去调view_site_description函数,这才是真正要执行的部分。因为前面有add_action
            success: function(data){alert(data);}
        });
        return false;
    });
    </script>
<?php }

----------
这段代码可以产生ajaxurl这个变量,上面用到了
function add_ajaxurl_cdata_to_front(){ ?>   --- 这一段可以考虑wp_localize_script ,参考: detail-365.html
    <script type="text/javascript"> //<![CDATA[
        ajaxurl = '<?php echo admin_url( 'admin-ajax.php'); ?>';
    //]]> </script>
<?php }
add_action( 'wp_head', 'add_ajaxurl_cdata_to_front', 1);

-----
这样,对wordpress的ajax使用就基本了解了。关键是view_site_description函数,这是你使用ajax的具体执行内容所在。

 

 

<<点击返回