「関連」とする条件はたとえばタグでもいいです。
このタグをどうやって、JavaScript に渡しますか? 最初に表示される投稿が、
<?php query_posts('posts_per_page=5'); ?>
で取得されていて、表示するのはタイトルと抜粋だけです(get_posts() で十分だと思いますが)。このとき、JavaScript はタグを知る手段がありません。それに、投稿が 5 つあるということは、タグも 5 つ(くらい)あることになるので、どれを使いますか? また、2度目の取得以降では、タグもカテゴリも取ってきていませんので、はやり知る手段がありません。強いて言えば、2 度目のクエリを、
SELECT
p.ID,
p.post_title,
p.post_excerpt,
t.name
FROM
$wpdb->posts AS p
LEFT JOIN
$wpdb->term_relationships AS tr
ON
tr.object_id=p.ID
LEFT JOIN
$wpdb->terms AS t
ON
t.term_id=tr.term_taxonomy_id
WHERE
p.post_type='post' AND p.post_status='publish'
ORDER BY
p.post_date DESC
LIMIT
$next_now_post_num, $next_get_post_num;
こんな感じにすれば、カテゴリとタグが一緒に取れますから、JavaScript 側でコントロールできますが…どうなんでしょうかね? 一応、WHERE 以下に、AND p.name='タグ名'
とすると、そのタグで検索となります。あとは工夫してみてください。
アイディアとしては、akistar02 さんの
一度すべて読み込んで
のほうがいいような気がします。元記事は何度もデータベースアクセスを繰り返しますが、画面推移がいやなら、1 回で読み込んで、表示を JavaScript でコントロールしたほうが速いです。5 個ずつの投稿を 10 回のアクセスで読み込むのと、50 個の記事を 1 回のアクセスで読み込むのを比べると、後者の方は、たぶん 10 分の 1 以下の時間になるはずです。
以下、余計なお世話かもしれませんが…
元記事の php ファイルは、wp-config.php を読み込んでいて、しかも、どこからでも、だれでもが実行できるようになっています。さらに、$_POST 変数のデータをそのまま SQL 文に入れているという状態です。これは何を意味するか、というと、SQL インジェクションやり放題できるということです。たいていの WordPress サイトは、.htaccess で、ファイルやディレクトリが存在しない場合は index.php に飛ばしますが、ファイルが存在するときには、そのまま実行できるようになっていると思いますので、迂闊にこのファイルを置いたら、データベースの中身を全部読まれる危険性があることは知っておいてください。