您需要采取一些步骤来实现这一点。首先,您需要使用AJAX调用您的数据库并获取项目(在本例中为帖子)。您很可能希望返回一个 JSON 字符串,该字符串可以被解析以构建您的帖子的 HTML 标记。一个例子是:
$.ajax({
type: "POST",
url: "path/to/load-more.php",
context: document.body,
success: function(data) {
if(!data){
//possible errors
return false;
}
var posts = JSON.parse(data);
var container = document.getElementById('container')
for(var i in posts){
var post = posts[i];
//now post will have info like post.image, post.title
//post.excerpt, and whatever else you put in the php script
//build the post with HTML and append it to the container
//and [reload masonry][2] eaxmple
var div = document.createNode('div');
var h1 = document.createNode('h1');
h1.innerHTML = post.title;
div.appendChild(h1);
container.appendChild(div);
container.masonry( 'reload' );
}
}
});
其次,您需要将load-more.php
10 个帖子作为 JSON 字符串返回。您将需要在引擎之外运行 WP 循环。
<?php
// Include WordPress
define('WP_USE_THEMES', false);
require('/server/path/to/your/wordpress/site/htdocs/blog/wp-blog-header.php');
query_posts('showposts=10');
$arr = new array();
while ($wp_query->have_posts()) : $wp_query->the_post();
//put in whatever info you want from the post in a new
//array index
$arr[the_ID()]['title'] = the_title();
endwhile;
return json_encode(arr);
?>
将 ajax 调用放在一个函数中,并在要加载更多的事件上调用该函数;比如点击一个按钮,或者滚动到页面底部。
我希望这有帮助。