所有动态帖子默认为第一个对象

时间:2013-10-08 19:59:50

标签: javascript jquery wordpress

我目前正在开发一款应用程序,用于从wordpress网站检索供稿,并以jquery移动列表格式列出各个帖子。以下是JS代码:

$(document).ready(function () {
    var url = 'http://howtodeployit.com/category/daily-devotion/feed/';
    $.ajax({
        type: "GET",
        url: document.location.protocol + '//ajax.googleapis.com/ajax/services/feed/load?v=1.0&output=json_xml&num=1000&callback=?&q=' + encodeURIComponent(url),
        dataType: 'json',
        error: function () {
            alert('Unable to load feed, Incorrect path or invalid feed');
        },
        success: function (data) {
            var postlist = data.responseData.feed.entries;
            var html = '<ul data-role="listview" data-filter="true">';
            for (var i = 0; i < 6; i++) {
                var entry = postlist[i];
                console.log(entry);
                html += '<li>';
                html += '<a href="#articlepost" onclick="showPost(' + entry.id + ')">';
                html += '<div class="etitle">' + entry.title + '</div>';
                html += '<div class="esnippet">' + entry.contentSnippet + '</div>';
                html += '</a>';
                html += '</li>';
            }
            html += '</ul>';
            $("#devotionlist").append(html);
            $("#devotionlist ul[data-role=listview]").listview();
        }
    });
});

function showPost(id) {
    $('#articlecontent').html("Loading post...");
    $.getJSON('http://howtodeployit.com/category/daily-devotion/?json=get_post&post_id=' + id + '&callback=?', function (data) {
        var html = '';
        html += '<h3>' + data.post.title + '</h3>';
        html += data.post.content;
        $('#articlecontent').html(html);
    });
}

当我点击显示的6个帖子中的任何一个时,只显示第一个帖子的内容而不是单个帖子的内容。

1 个答案:

答案 0 :(得分:0)

我是如何解决这个问题的?

步骤1:从我的WordPress永久链接设置中,我选择了自定义结构并添加了 /%postname%/%post_id%这意味着我的'Link'元素的RSS XML输出结果将采用以下格式:

<myurl>/<postname>/<postID> (http://howtodeployit.com/xxx/111/)

Step2:为了让我更容易而不是编写正则表达式查询,我使用了这样的Split命令:

var postlink = entry.link;
var id = postlink.split(/\//)[4];

(///)[4] 只会将网址按斜线数拆分,只取第4位,这是我的postID所在的位置。

我希望这对我职位的其他人来说非常方便