• いつもお世話になり感謝します。

    カテゴリーページ作成後、全記事一覧のアーカイブページを作成
    の続きのような質問になります。時間もだいぶ経過してしまったので再度投稿をお許しください。
    また、以前質問させていただいた
    [解決済み] カテゴリページの2ページ目以降が表示されません。にも似ていますが、wordpressの
    query_postsについてを見ても、他の似た事例を検索していろいろ試しても解決できませんでした。よろしければご指導願います。

    前の質問
    カテゴリーページ作成後、全記事一覧のアーカイブページを作成
    (カスタムフィールドの値番号順に並べたい)、
    の件で、すべての記事に共通タグをつけ、tag.phpを作成という提案を
    V.J.Catkickさんにいただきました、ありがとうございました_ (_ _) _
    しかし17万投稿あるので、ちょいと後回しにさせていただきたく思っております、、、
    (失礼に感じたら申し訳ありません)、

    kzさんにいただいた、
    ___________________________
    1.新規ページを作成。
    2.新規ページのスラッグを products とかにする。
    3.page-products.php ファイルを作成する。
    4.page-products.php に以下の *ように* 記述する。

    <?php
    get_header();
    query_posts( array(
      'posts_per_page' => 100,
      'meta_key' => 'item_id',
      'orderby' => 'meta_value', // 数値なら meta_value_num
      'order' => 'ASC'
    ) );
    if ( have_posts() ) :
      while ( have_posts() ) :
        the_post();
        // 省略
      endwhile;
    endif;
    wp_reset_query();
    get_footer();
    ?>

    _____________________________

    を試させていただき、一ページ目がみごとに表示されました。ありがとうございます。
    ただ2ページ目以降も同じ表示になります。
    以下のようにコーディングしています。

    <?php
    $page = get_query_var( 'page' );
    query_posts( 'paged=$page' );
    ?>
    <?php query_posts( array(
      'posts_per_page' => 100,
      'meta_key' => 'item_id',
      'orderby' => 'meta_value_num', // 数値なら meta_value_num
      'order' => 'ASC'
    ) );
    ?>
    
       <?php if(have_posts()) : ?><?php while (have_posts()) : the_post(); ?>  
    
    <center><?php the_title(); ?>
    <?php
      endwhile;
    else:
    ?>
    <center>お探しの商品は見つかりませんでした。</center>
    <?php endif;
    wp_reset_query();
    ?>

    ここに何か表記を加えればいいのでしょうか?

    また、カテゴリ、検索結果ページでうまく機能しているページナビも、
    通常は、
    ______________________________
    hogehoge一覧
    (24609件中) 1〜100件目
    1 2 3 4 … 247 次→
    _____________________________
    と表示されるのですが、
    このページでは、
    ____________________________
    「」一覧
    _____________________________
    としか表示されません。
    ナビは以下のようになっています。

    <?php
    global $wp_query;
    $total = intval($wp_query->found_posts);
    if($total > 0){
      if($page = get_query_var('paged')) $page--;
      $per_page = get_query_var('posts_per_page');
      $from = $page * $per_page;
      $to = min($from++ + get_query_var('posts_per_page'), $total);
      printf(
        '<div style="font-size:small;">「%s」一覧 <br> (%d件中) %d〜%d件目</div>',
        get_search_query(),
        $total,
        $from,
        $to
      );
    }else{
      printf('「%s」一覧', get_search_query());
    }
    ?>
    <div class="tablenav"><?php 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 .= '%_%';
    }
    echo paginate_links( array(
    	'base' => $paginate_base,
    	'format' => $paginate_format,
    	'total' => $wp_query->max_num_pages,
    	'mid_size' => 3,
    	'current' => ($paged ? $paged : 1),
            'prev_text' => '←前',
            'next_text' => '次→',
    )); ?></div>

    これはカテゴリや、検索結果ページにしか機能しない指令になっているのでしょうか、?
    初心者なので、具体的に修正コーディングしていただけたらものすごく助かります。。。
    でもすごく面倒そうだな、、、申し訳ありません。

    以上長々と読むだけでもお手数をかけました、
    そしてもしお助けいただいたら救われます。
    いつも感謝します。
    ありがとうございました。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • <?php
    query_posts( 'paged=$page' );
    ?>
    <?php
    query_posts( array(
      'posts_per_page' => 100,
      'meta_key' => 'item_id',
      'orderby' => 'meta_value_num', // 数値なら meta_value_num
      'order' => 'ASC'
    ) );
    ?>

    2回queryを発行しちゃってますね。

    <?php
    query_posts( array(
      'posts_per_page' => 100,
      'meta_key' => 'item_id',
      'orderby' => 'meta_value_num', // 数値なら meta_value_num
      'order' => 'ASC',
      'paged' => $page
    ) );
    ?>

    トピック投稿者 organic ear

    (@organic-ear)

    kvexさま
    読んでいただき、そしてご指摘したいただき本当にありがとうございます。
    ご指摘の箇所を正しく直す事ができました、感謝です!_ (_ _) _

    以前2ページ目以降も同じ表示、ページナビも反応ないです。
    カテゴリや、検索結果とはだいぶ別物なのでしょうか、、、

    $page はきちんと設定していますか?

    $page = get_query_var('paged') ? get_query_var('paged') : 1;
    query_posts( array(
      'posts_per_page' => 100,
      'meta_key' => 'item_id',
      'orderby' => 'meta_value_num', // 数値なら meta_value_num
      'order' => 'ASC',
      'paged' => $page
    ) );

    あっと、すいません独自のナビなんですね。

    トピック投稿者 organic ear

    (@organic-ear)

    pluto1234さん
    ありがとうございます!

    自分でも数時間検索し、

    meta_key(meta_value)の値を数値としてソートしたい (2 件の投稿)

    も参考にさせていただき先ほど成功しました、が、きっと私のことなので変なアレンジをしていたと思います。

    ご呈示いただいたものの方がキレイにまとまっていると思いますので是非使用させて下さい。救われました。
    _ (_ _) _

    きっと初歩的な間違いでお騒がせしてしてしまったと思います。
    みなさま本当にゴメンナサイ&ありがとうございます。

    ページナビは、
    WP-PageNavi を使わずにナビゲーション表示や、
    検索結果の表示(○件中 ○~○件目) (3 件の投稿)
    を参考にさせていただいて、カテゴリや検索結果ページで大活躍しくれてています(感謝)、

    ただ、この件のファイルは、上記もナビも、プラグインも認識してくれないようです。
    wp pagenaviを、ネットを参考にトライしましたが反応がありません。

    「1~15件表示中」のような件数表示を行いたいです。
    のおかげで、”201-300件”のような表示はできました。

    あとは、
    トータル件数と、行きたいページへのリンクがまだできません。
    ただこれは自分でも検索しつつ、不可なら別件で質問した方が良いですかね、、、、
    引き続き自分でも探索をしてみたいと思います。
    また一日後にここに来たいと思います。

    みなさまお力添え本当にありがとうございます。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「カスタムフィールド順ソート、1ページ目しか表示されない、ナビも不認識」には新たに返信することはできません。