これを実現するには、いくつかの手順を実行する必要があります。まず、 AJAXを使用してデータベースを呼び出し、アイテム (この場合は投稿) を取得する必要があります。投稿の HTML マークアップを作成するために解析できる JSON 文字列を返したいと思うでしょう。例は次のとおりです。
$.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 呼び出しを配置し、さらにロードするイベントでその関数を呼び出します。ボタンをクリックしたり、ページの一番下までスクロールしたりします。
これが役立つことを願っています。