有时候在开发wordpress 过程中 我们要在不刷新页面或者某些特效中需要用到Ajax进行数据传递储存等等。那么我们应该怎么做才能跟wordpress 进行无缝开发呢?
其实wordpress 早就有相应的开发接口。我们打开 wp-admin/admin-ajax.php 下的文件 看代码:
01 | // Register core Ajax calls. |
02 | if ( ! empty( $_GET['action'] ) && in_array( $_GET['action'], $core_actions_get ) ) |
03 | add_action( 'wp_ajax_' . $_GET['action'], 'wp_ajax_' . str_replace( '-', '_', $_GET['action'] ), 1 ); |
05 | if ( ! empty( $_POST['action'] ) && in_array( $_POST['action'], $core_actions_post ) ) |
06 | add_action( 'wp_ajax_' . $_POST['action'], 'wp_ajax_' . str_replace( '-', '_', $_POST['action'] ), 1 ); |
08 | add_action( 'wp_ajax_nopriv_autosave', 'wp_ajax_nopriv_autosave', 1 ); |
10 | if ( is_user_logged_in() ) |
11 | do_action( 'wp_ajax_' . $_REQUEST['action'] ); // Authenticated actions |
13 | do_action( 'wp_ajax_nopriv_' . $_REQUEST['action'] ); // Non-admin actions |
在这边它做添加了 wp_ajax_ and $_POST['action'] 结合的动作。所以在用ajax 或者 jquery
传递数据的时候,添加上action 值。并且写一个 以wp_ajax_ and $_POST['action'] 命名的函数就是了。
如:
1 | $.post( ajaxurl, { action: 'ooxx', id: termid},function(response){}); |
在functions.php 写上 相应的函数就可以了。在函数里面你可以进行各种各样的ajax 处理。
以上便是用ajax传递数据,如果大家更好的方法,或者有什么疑问,欢迎大家交流沟通!
阅读(999) | 评论(0) | 转发(0) |