JavaScript登録
jQuery.ajax()を使用するのでjQueryを、全投稿数保持の為にjquery.cookieプラグインを利用するので登録しておきます。
functions.php
// JavaScript登録
add_action( 'wp_enqueue_scripts', 'sh_add_scripts' );
function sh_add_scripts() {
	if ( is_page( 'wp-content-ajax-viewer' ) ) {
		wp_enqueue_script( 'jquery' );
		wp_enqueue_script( 'jquery-cookie', get_template_directory_uri() . '/js/jquery.cookie.js', array( 'jquery' ), true );
	}
}
全投稿数を取得しクッキーに保存させる
投稿を全て表示し終えたら「もっと見る」アンカーを無効化する、を実現するために全投稿の件数が必要になります。
		ページ読み込み時に全投稿数をカウントしてクッキーに保存しておきます。
2012/10/17修正
		wp_headにフックさせるとhtmlを出力した後setcookie()が実行され”Warning: Cannot modify header information – headers already sent by”が発生するのでinitにフックするよう修正しています。
		PHP: setcookie – Manual
2012/10/17更に修正
		initにフックさせるとsh_get_query_count()関数内のis_page()が効かないのでwpフックに修正。
functions.php
// 全投稿数をカウントしクッキーに保存
add_action( 'wp', 'sh_get_query_count' );
function sh_get_query_count() {
	if ( is_page( 'wp-content-ajax-viewer' ) ) {
		$args = array( 'posts_per_page' => -1 );
		$my_posts = get_posts( $args );
		$query_count = count( $my_posts );
		setcookie( 'count', $query_count, time() + 3600 );
	}
}
「もっと見る」クリック時のajax処理登録
functions.php
// admin-ajax.phpへリクエストを送信し返ってきた情報をもとにページ情報を出力
add_action( 'wp_head', 'sh_add_ajax_script' );
function sh_add_ajax_script() {
	if ( is_page( 'wp-content-ajax-viewer' ) ) {
		?>
		<script>
			//<![CDATA[
			ajaxurl = '<?php echo admin_url( 'admin-ajax.php' ); ?>';
			jQuery(function($){
				$('#show-more').click(function(){
					var paged = $('#content-list li').length;
					jQuery.ajax({
						type: 'POST',
						url: ajaxurl,
						data: {
							"action": "sh_show_more",
							"paged": paged
						},
						success: function(data){
							var html = generateHtml(data);
							var target = $('#content-list');
							$(target).append(html);
							if ( $('#content-list li').length == $.cookie('count')) {
								$('#show-more').css({
									'pointerEvents': 'none',
									'color': '#ccc'
								});
							}
						},
						error: function(){
							alert('error');
						}
					});
					return false;
				});
				function generateHtml(data){
					var dataLength = data.length;
					var li = [];
					for ( i = 0; i < dataLength; i++ ){
						li.push('<li><a href="' + data[i].url + '">' + data[i].title + '</a></li>');
					}
					li = li.join("");
					return li;
				}
			})
			//]]>
		</script>
		<?php
	} // endif
}
// json出力
add_action( 'wp_ajax_sh_show_more', 'sh_show_more' );
add_action( 'wp_ajax_nopriv_sh_show_more', 'sh_show_more' );
function sh_show_more() {
	global $post;
	$charset = get_bloginfo( 'charset' );
	$paged = $_POST['paged'];
	$json = array( );
	$args = array(
		'posts_per_page' => 10,
		'offset' => $paged
	);
	$my_posts = get_posts( $args );
	foreach ( $my_posts as $key => $post ) :
		$json[$key]['title'] = get_the_title();
		$json[$key]['url'] = get_permalink();
	endforeach;
	
	$json = json_encode( $json );
	nocache_headers();
	header( "Content-Type: application/json; charset=$charset" );
	echo $json;
	die();
}
基本は/wp-admin/admin-ajax.phpを使ったデモと同じなのでそちらを参照。
大まかな流れとしては以下の通り。
- wp_headアクションフックでsh_add_ajax_script()を実行し(#02)、「AjaxでWordPressのコンテンツを遷移無く表示デモ」ページのみJavaScriptを出力(#05)
- 「もっと見る」アンカー(#show-more)クリックイベント(#11)
- 現在表示されている投稿件数を取得。(#12)
- jQuery.ajax()実行。(#13~)
 今回はdataキー(サーバに送信するデータ)にactionパラメータ他にpagedパラメータを登録。pagedパラメータは#12で取得した現在表示されている投稿件数の値。
- /wp-admin/admin-ajax.php?action=sh_show_moreへのリクエストでアクションフック”wp_ajax_sh_show_more”、”wp_ajax_nopriv_sh_show_more”がフックされ、sh_show_more()が実行される。(#54,55)
- PHP関数側で$pagedにjQuery.ajax()より送信されたpagedの値を代入。(#60)
- get_posts()用のパラメータを設定。posts_per_page(表示件数)は10件。offset(取得開始位置)$pagedの値を。
 他パラメータは今回はデフォルトで。画像で同様の処理を行いたいなら’post_type’ => ‘attachment’とかを指定。
- get_posts()で投稿を取得してきて(#67)、foreachで配列$jsonにタイトルとパーマリンクを代入。(#68~71)
- 先のデモ同様JSONを出力してdie()でプログラムを終了させる。(#73~77)
- jQuery.ajax()にJSONオブジェクトが返されsuccess時の処理実行。(#20~)
 出力するhtmlを生成し(#21及び#37~45)、指定した要素へ出力。(#22,23)
- もし投稿件数がcookieに保存されている全投稿数と同じになれば「もっと見る」アンカー無効化処理。(#24~29)
ちなみにjQuery.ajax()でsuccess時に返ってくるJSONオブジェクトは以下の様な形式。(JSON文字列化及び整形済み)
[
    {
        "title": "Mac OS X Lion環境NetBeans IDEにプログラミング用フォントRicty導入", 
        "url": "http://show-web.jp/2012/01/31/mac-os-x-lion%E7%92%B0%E5%A2%83netbeans-ide%E3%81%AB%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E7%94%A8%E3%83%95%E3%82%A9%E3%83%B3%E3%83%88ricty%E5%B0%8E%E5%85%A5/"
    }, 
    {
        "title": "WordCrab Fukui 2012に参加してきました", 
        "url": "http://show-web.jp/2012/01/31/wordcrab-fukui-2012%E3%81%AB%E5%8F%82%E5%8A%A0%E3%81%97%E3%81%A6%E3%81%8D%E3%81%BE%E3%81%97%E3%81%9F/"
    }, 
    {
        "title": "Windows7でSCSS+Compass(導入編)", 
        "url": "http://show-web.jp/2012/01/17/windows7%E3%81%A7scss-compass%EF%BC%88%E5%B0%8E%E5%85%A5%E7%B7%A8%EF%BC%89/"
    }, 
    {
        "title": "Retinaディスプレイ時に読み込む画像を切り替えるjQueryその2", 
        "url": "http://show-web.jp/2012/01/12/retina%E3%83%87%E3%82%A3%E3%82%B9%E3%83%97%E3%83%AC%E3%82%A4%E6%99%82%E3%81%AB%E8%AA%AD%E3%81%BF%E8%BE%BC%E3%82%80%E7%94%BB%E5%83%8F%E3%82%92%E5%88%87%E3%82%8A%E6%9B%BF%E3%81%88%E3%82%8Bjquery-2/"
    }, 
    {
        "title": "Retinaディスプレイ時に読み込む画像を切り替えるjQuery", 
        "url": "http://show-web.jp/2011/12/31/retina%E3%83%87%E3%82%A3%E3%82%B9%E3%83%97%E3%83%AC%E3%82%A4%E6%99%82%E3%81%AB%E8%AA%AD%E3%81%BF%E8%BE%BC%E3%82%80%E7%94%BB%E5%83%8F%E3%82%92%E5%88%87%E3%82%8A%E6%9B%BF%E3%81%88%E3%82%8Bjquery/"
    }, 
    {
        "title": "第1回WordPressお茶会@WordBench香川を開催しました", 
        "url": "http://show-web.jp/2011/11/21/%E7%AC%AC1%E5%9B%9Ewordpress%E3%81%8A%E8%8C%B6%E4%BC%9A%EF%BC%A0wordbench%E9%A6%99%E5%B7%9D%E3%82%92%E9%96%8B%E5%82%AC%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F/"
    }, 
    {
        "title": "第1回WordPressお茶会 – WordBench香川 – WordPressのインストール", 
        "url": "http://show-web.jp/2011/11/16/%E7%AC%AC1%E5%9B%9Ewordpress%E3%81%8A%E8%8C%B6%E4%BC%9A-wordbench%E9%A6%99%E5%B7%9D-wordpress%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB/"
    }, 
    {
        "title": "第1回WordPressお茶会 – WordBench香川 – PHP環境設定", 
        "url": "http://show-web.jp/2011/11/10/%E7%AC%AC1%E5%9B%9Ewordpress%E3%81%8A%E8%8C%B6%E4%BC%9A-wordbench%E9%A6%99%E5%B7%9D-php%E7%92%B0%E5%A2%83%E8%A8%AD%E5%AE%9A/"
    }, 
    {
        "title": "第1回WordPressお茶会 – WordBench香川 – MAMPの環境設定(外部からのアクセス制限設定)", 
        "url": "http://show-web.jp/2011/11/05/%E7%AC%AC1%E5%9B%9Ewordpress%E3%81%8A%E8%8C%B6%E4%BC%9A-wordbench%E9%A6%99%E5%B7%9D-mamp%E3%81%AE%E7%92%B0%E5%A2%83%E8%A8%AD%E5%AE%9A%EF%BC%88%E5%A4%96%E9%83%A8%E3%81%8B%E3%82%89%E3%81%AE/"
    }, 
    {
        "title": "第1回WordPressお茶会 – WordBench香川 – XAMPPの環境設定(ドキュメントルートの確認)", 
        "url": "http://show-web.jp/2011/11/05/%E7%AC%AC1%E5%9B%9Ewordpress%E3%81%8A%E8%8C%B6%E4%BC%9A-wordbench%E9%A6%99%E5%B7%9D-xampp%E3%81%AE%E7%92%B0%E5%A2%83%E8%A8%AD%E5%AE%9A%EF%BC%88%E3%83%89%E3%82%AD%E3%83%A5%E3%83%A1%E3%83%B3/"
    }
]