2010年7月12日月曜日

wordpressでのページング処理

Function Reference/paginate links « WordPress Codex

わりと簡単


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にするプラグインも作られている模様

0 件のコメント:

コメントを投稿