テーマ「tanzaku」トップページに特定カテゴリ表示させた場合のページ推移
-
環境
tanzaku 1.1.1(Author Homepage|WordPress.org)
※ ダッシュボードから管理するプラグインは、オフの状態で確認PHP 5.2.5
MySQL 5.1.17Safari 5 / Firefox3.6 / Chrome6(Mac OSX 10.5.8)
IE 8(Win XP/Vista)内容
トップページに特定のカテゴリー『catA』のみを表示させるため、index.phpの<?php get_header(); ?>
に続き以下のコードを追加しました。<?php global $wp_query; query_posts( array_merge( array('category_name' => 'catA'), $wp_query->query ) );?>
結果、希望通りの表示を得ることが出来たのですが、ページ推移で1点上手く行かないところがあります。
◯ example.com/(catA属ポスト表示)→ example.com/page/2(catA属ポスト表示)
◯ example.com/catA → example.com/catA/page/2(catA属ポスト表示)
◯ example.com/catB → example.com/catB/page/2(catB属ポスト表示)
◯ example.com/archives/ポストID(catA属)→ example.com/page/2(catA属ポスト表示)
× example.com/archives/ポストID(catB属)→ example.com/page/2(Not Found 条件に合う投稿はありませんでした)この点を修正するには、どの様にすれば宜しいでしょうか?
※ /page/2への移動はテーマ標準装備のページナビゲーションによるものですなお、functions.php内の関連コードは
/* * echo paginate links using internal function "paginate_links()". * * see: http://www.yuriko.net/arc/2008/07/26/navigation/ */ function paginate_links2($is_top_single=false) { global $wp_rewrite; global $wp_query; global $paged; $paginate_base = ($is_top_single) ? trailingslashit( get_option('siteurl') ) : get_pagenum_link(1); /* mod */ if (strpos($paginate_base, '?') || ! $wp_rewrite->using_permalinks()) { $paginate_format = ''; $paginate_base = add_query_arg('paged', '%#%', $paginate_base); /* mod */ } else { $paginate_format = (substr($paginate_base, -1 ,1) == '/' ? '' : '/') . user_trailingslashit('page/%#%/', 'paged'); $paginate_base .= '%_%'; } echo paginate_links( array( 'base' => $paginate_base, 'format' => $paginate_format, 'total' => $wp_query->max_num_pages, 'mid_size' => 5, 'current' => ($paged ? $paged : 1), 'prev_text' => '«', 'next_text' => '»', )); }
かと思います。どうぞ宜しくお願いします。
- トピック「テーマ「tanzaku」トップページに特定カテゴリ表示させた場合のページ推移」には新たに返信することはできません。