ajax获取WordPress边栏信息

对于技术这种东西,始终觉得现在用的很多以后都是会被摒弃的,死抱着一棵救命稻草终究会被湮没在历史的洪流之中。所以,某些技术只是拿来用用就可以 了,内在始终不想去了解,大体上能完成功能即可。比如jquery,几次想看看书里怎么写又觉得没什么用处,偶尔到图书馆看到中外这类的书籍若干,拿起来 又放下。终究是自己兴趣所在才有动力完成下去啊~    最近有俩同学问题我边栏种马回事……我沉思了若干秒,总结出目前用的这个叫jquery的ajax方式异步获取(自己随便写的名字 – -|)的玩意。原型忘记是什么了,记得是 winy 那边的一个什么栗子……
    首先我来举个栗子……栗子栗子栗子,每周都吃栗子。
    1、首先要有加载jquery库;
    2、在自己要载入的js文件里写入:
    function ajaxs() {
    $.ajax({
    url: 127.0.0.1/?action=ajax', //域名换成你要用的
    type: 'get',
    beforeSend: function() {
    var loading = '<span class="loadsidebar"></span>';
    $('#hotposts')。empty()。html(loading)  //显示loading啊神马的
    },
    error: function(a) {
    $('#hotposts')。hide()。empty()。html('<div style="text-align:center;padding-top:20px;">还木有载好</div>')。 fadeIn('fast')
    },   //错误时输出神马
    success: function(a) {
    $('#hotposts')。empty()。html(a) //成功时输出神马
    }
    });
    return false
    };
    ajaxs();
    3、在function.php文件里写入:
    function AjaxLoad(){
    if( isset($_GET['action'])){
    if($_GET['action'] == 'ajax'  ){
    echo 'Oh shit'; //你可以根据需要输出,比如输出最新评论,最新文章,最新妹子什么的
    die;
    }
    //if($_GET['action'] == 'ajax'  ){
    //如果理解的话,这样的代码还可以写出若干对吧?
    }
    }
    add_action('init', 'AjaxLoad');
    顺利完成。
    有了上面的模版,基本上要用到的功能都可以完成了,比如鼠标划过:$('#xxx')。hover(function() {…},比如点击某个地方:$('#ooo')。click(function() {…}。把js部分中的最后一句话CP到这里面就完成鸟。具体见ink主题的边栏newcomments和Active Friends部分的效果。
    很久没写过代码分享之类的东西了,面壁……
    上一次的文章可能说的太含糊了,所以部分朋友提出了一些疑问(我太偷懒了),所以经过很很长时间的考虑,终于决定在今天写第二部分。相对于前一篇,本篇是威力加强版,增加的内容主要有:1、如何输入两个参数;2、提供完整的代码。欢迎继续观看。
    上篇链接:ajax获取WordPress边栏信息(一)
    jQuery官方给出的ajax的例子不再叙述,相信很多同学由于英语或者其他原因,看了也是有点不太明白肿么回事。我这里主要说说在WordPress 里怎样通过它来控制侧边栏的异步获取和输出,就像前一篇所说的那样。还有某些朋友好奇的:目前的ink主题侧栏的点击某项目才调取相关内容。关于这个依然 需要3个步骤:
    1、function.php里写入相应的函数
    function AjaxLoad(){
    if( isset($_GET['action'])){
    if($_GET['action'] == 'ajax_slidepage'  ){
    if($_GET['page'] == 'pagenum2'){
    echo '<ul>';
    get_most_viewed('',8,0 ,0 ,' 次浏览');//这个相信都知道是什么吧……被浏览最多的文章
    echo '</ul><p>';
    }
    else{
    echo '<ul>';
    get_archives('postbypost', 8);
    echo '</ul><p>';
    }
    die;
    }
    }
    }
    addaction('init', 'AjaxLoad');