wordpress複数ループとかカテゴリー毎のページ送りとか
同じところではまる。。。毎回。。。
その度に懲りずに忘れてるのでφ(`д´)メモメモ…
複数ループ使う時は、ここからこのプログラム使うからねー
と魔法のセリフを忘れないようにする。。。
<?php $temp_query = clone $wp_query; ?> //ループ内容 <?php $wp_query = clone $temp_query; ?>
ページ送りの不具合時404になる時に試してみようプラグイン
「Top Level Categories Fix」
カテゴリーを取得して一覧ページで次のページが同じ内容に初期表示されてしまうときは
<?php
query_posts('showposts=ここは表示件数&cat=ここはカテゴリID&paged='.$paged);
?>
<?php if (have_posts()): while (have_posts()): the_post(); ?>
<?php endwhile; endif;?>
$pagedの書き方に注意。。。
一覧のページナビゲーションをプラグインに頼らず書く場合
<?php
query_posts('showposts=ここは表示件数&cat=ここはカテゴリID&paged='.$paged);
?>
<?php if (have_posts()): while (have_posts()): the_post(); ?>
<?php endwhile; endif;?>
<?php /* paging navigation */
global $wp_rewrite;
$paginate_base = get_pagenum_link(1);
if (strpos($paginate_base, '?') || ! $wp_rewrite->using_permalinks()) {
$paginate_format = '';
$paginate_base = add_query_arg('paged', '%#%');
} else {
$paginate_format = (substr($paginate_base, -1 ,1) == '/' ? '' : '/') .user_trailingslashit('page/%#%/', 'paged');
$paginate_base .= '%_%';
}
$pagination = array(
'base' => $paginate_base,
'format' => $paginate_format,
'total' => $wp_query->max_num_pages,
'mid_size' => 5,//ここは何ページ表示するか
'current' => ($paged ? $paged : 1),
'prev_text' => '前のページへ',
'next_text' => '次のページへ'
);
echo '<div class="page-navi">'."\n";
echo paginate_links($pagination);
echo '</div>'."\n";
?>
