わりと簡単
global $wp_rewrite;
$wp_query->query_vars['paged'] > 1 ? $current = $wp_query->query_vars['paged'] : $current = 1;
$pagination = array(
'base' => @add_query_arg('page','%#%'),
'format' => '',
'total' => $wp_query->max_num_pages,
'current' => $current,
'show_all' => true,
'type' => 'plain',
);
if( $wp_rewrite->using_permalinks() )
$pagination['base'] = user_trailingslashit( trailingslashit( remove_query_arg('s',get_pagenum_link(1) ) ) . 'page/%#%/', 'paged');
if( !empty($wp_query->query_vars['s']) )
$pagination['add_args'] = array('s'=>get_query_var('s'));
echo paginate_links($pagination);
サンプルはこんなかんじ
というか$wp_rewriteなんて初めてみたので、ちょっと調べる。
とりあえず、.htaccessやhttpd.conf等に手を加えなくてもリライトできるような関数らしい。
これを使ってWordPressでURLパスを.htmlや.phpにするプラグインも作られている模様