【環境】
- ルートディレクトリに WordPress をインストール
- /blog/index.php に wp-load.php をインクルード
- /blog/page/2/ みたいな感じでページ送りさせる
そんな方法です。
まずは /blog/index.php です。
require_once ( dirname ( __FILE__ ) . '/../wp-load.php' );
$paged = filter_input ( INPUT_GET, 'paged', FILTER_SANITIZE_SPECIAL_CHARS );
get_header();
$args = array (
'post_type' => 'post',
'posts_per_page' => 10,
'paged' => $paged,
);
$wp_query = new WP_Query( $args );
if ( $wp_query->have_posts() ) {
while ( $wp_query->have_posts() ) {
$wp_query->the_post();
echo '' . get_the_title() . '';
}
wp_reset_postdata();
}
echo paginate_links();
get_footer();
/blog/page/2/は /blog/?paged=2 にURLリライトするので、
/blog/.htaccess を作成して下記のように記述します。
RewriteEngine On RewriteBase /blog/ RewriteRule page/([0-9]+) /blog/?paged=$1 [L]
/blog/?paged=2 のような動的URLでいいならURLリライトする必要はありません。
その場合は paginate_links() の引数を下記のように変更します。
echo paginate_links( array ( 'format' => '?paged=%#%', ) );
