ご提示いただいているコードを見る限りでは問題なさそうな気がしますが。
・TOPに戻るとは、「サイトのトップページ」でしょうか、それとも「1ページ目」でしょうか
・ページナビの2ページ目のリンクはどうなっていますか?
・2ページ目をクリックしたとき、ブラウザのアドレス欄はページナビの2ページ目と同じですか?それとも変わっていますか?
・テーマをデフォルトにしたときや、いくつかプラグインを無効にしても状況の改善はされませんか?
ありがとうございます。
まずは、TOPページに戻るはアーカイブページの1ページ目ということではなくて、サイトのindexページに戻るというか飛んでしまうというかという状態です。
2ページ目のリンクは、http://●●●●●●●●.com/?cat=4&paged=2 (例えばアーカイブページcat4の場合です。その他のcategoryのページもそれぞれ上記のように&paged=2とか3ページ目であれば&paged=3と付きます)
2ページ目をクリックした時のブラウザのアドレス欄は、上記のまま(http://●●●●●●●●.com/?cat=4&paged=2)が表示されつつ、実際の表示ページは、index(サイトのホームのページ)が表示されております。
テーマをデフォルトに(Twenty Eleven・Twenty ten)等に戻してページを見るとお探しのarchiveはありませんとなってしまいました。問題の切り分けで考えていくとカスタム投稿・カテゴリー等と使って投稿していることが問題ということになるのでしょうか?
ちなみにFunction.phpに
<?php
add_action('init', 'add_custom');
function add_custom() {
register_post_type('nails', array(
'label' => 'ネイルデザイン',
'menu_position' => 5,
'public' => true,
'taxonomies' => array('category'),
'supports' => array(
'title',
'editor'),
'has_archive' => true,
'rewrite' => array(
'slug' => 'nail',
'with_front' => false)
));
}
?>
としてカスタム投稿を追加しています。この部分に関しては、Pluginを使ってカスタム投稿を作ると簡単という記事を見かけたりするのですが、すでに相当数の投稿が入ってしまっているため、(始める前に考えておけばよかったのですが)この時点から切替たりした時に諸問題が出ると心配な為そこには手をつけておりません。
Pluginは関連しそうなところはすべて停止にしてやってみたのですがやはり改善しません。
なにが考えられるでしょうか?
まず、archive.phpの query_posts 周りを削除してページ送りがどうなるか確認してください。
<?php
global $wp_query;
$paged = get_query_var( 'paged' );
$args = array_merge( $wp_query->query, array(
'post_type' => 'nails',
'posts_per_page' => 6,
'paged' => $paged,
) ); ?>
<?php query_posts( $args ); ?>
投稿から判別できないのですが、問題が起きるのはカスタム投稿タイプのアーカイブなんですか?
それともカテゴリーアーカイブなんですか?
ご指導ありがとうございます。ページ送り周りを削除するとループしない為、投稿記事の中にarchive.phpのエラーがたくさん出てしまいダメでした。
今回は投稿は使わずすべてカスタム投稿を使ったので、一般のカテゴリーアーカイブの検証ができませんでした。その後、自分でも色々なフォーラムの記事を探していたところ、それらしい文献に当たりまして、
is_main_query と pre_get_posts を使って表示件数を変更するというあたりの記事にて(gatespace様も説明されておりましたね)
function.phpに
<?php
add_action( 'pre_get_posts', 'foo_modify_query_exclude_category' );
function foo_modify_query_exclude_category( $wp_query ) {
if ( $wp_query->is_main_query() && $wp_query->is_category() ) {
$wp_query->set( 'posts_per_page',6 );//1ページに表示する記事数
$wp_query->set( 'post_type', array( 'nails', 'posts') );
}
}
?>
んな感じで追記することで問題を解消することが出来ました。よって自己解決ですが動作に及びました。ご意見誠にありがとうございました。また同じようなことで解決しない方へのヒントになればと思います。