WordPress使用AJAX实时获取评论头像

发布于 / Codex / 12 条评论

那几天刚好在折腾Ajax,听小哲哲说要搞实时头像,然后就写了这个功能。

首先我们要使用到WP的admin-ajax.php文件,用来与JS传递数据,你需要用到wp_localize_script()函数以声明这个文件的路径,或者你有其他方法拿到路径也可以,像这样http:\/\/localhost\/blog\/wp-admin\/admin-ajax.php

实例

PHP部分

此代码添加到主题functions.php文件

add_action( 'init', 'ajax_avatar_url' );
function ajax_avatar_url() {
	if( $_GET['action'] == 'ajax_avatar_get' && 'GET' == $_SERVER['REQUEST_METHOD'] ) {
		$email = $_GET['email'];
		echo get_avatar_url( $email, array( 'size'=>42 ) ); // size 指定头像大小
		die();
	}else { return; }
}

JS部分

此代码添加到主题js文件

$("input#email").blur(function() {
  var _email = $(this).val();
  if (_email != '') {
    $.ajax({
      type: 'GET',
      data: {
        action: 'ajax_avatar_get',  
        form: ajaxurl, // 修改为你的Ajax路径
        email: _email
      },
      success: function(data) {
        $('.avatar').attr('src', data); // 修改为你自己的头像标签
      }
    }); // end ajax
  }
  return false;
});

最后,代码里面该改的改,没有其他的了,是不是很简单?

转载原创文章请注明,转载自: 蜜汁路易 » WordPress使用AJAX实时获取评论头像
  1. avatar

    爱你路易

  2. avatar

    少了个isset($_GET[“action”])~

  3. avatar

    参考这个给typecho也弄了一个,哈哈,水文水文

    1. avatar
      @泽泽 my亲爱的小泽泽。
  4. avatar

    大佬

  5. avatar

    大佬大佬

  6. avatar

    我什么时候才能想路易大佬一样优秀啊

  7. avatar

    可以,很推特。

  8. avatar

    厉害厉害,膜拜中…

    1. avatar
      @wordpress主题 过奖过奖?
  9. avatar

    这个好棒的~

  10. avatar

    小白表示不知道你在说什么。。。