• 解決済 bluegill

    (@bluegill)


    共通のカテゴリーページとして(common_category.php)に記載しています。
    カテゴリーの一覧は以下カテゴリーページ(common_category.php)で統一したいと考えていますがwp_pagenaviが機能しません。

    <h2><?php single_cat_title(); ?></h2>
    <?php
    $cat = get_query_var(‘cat’);
    $posts = get_posts(“order=desc&category=$cat&numberposts=20”);
    ?>
    <?php if($posts): foreach($posts as $post): setup_postdata($post); ?>

    エントリー部分

    <?php endforeach; endif; ?>
    <?php if(function_exists(‘wp_pagenavi’)) { wp_pagenavi(); } ?>

    以下コードであればwp_pagenaviが機能するのですがカテゴリーを指定しないといけなくカテゴリーごとに各category.phpを作らないといけない状態です(私の能力では><;)

    <?php
    $paged = get_query_var(‘paged’);
    $total_page_num = ceil( $wp_query->found_posts / $posts_per_page );
    query_posts(‘cat=10&posts_per_page=20&paged=’.$paged); ?>

    <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>

    エントリー部分

    <?php endwhile; endif; ?>
    <?php if(function_exists(‘wp_pagenavi’)) { wp_pagenavi(); } ?>

    (common_category.php)で統一し、なおかつwp_pagenaviを機能できるようにご伝授いただけないでしょうか><;

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • bluegillさん

    カテゴリーの表示件数を20件にしたいようですので、query_postsやget_postsを使うよりデフォルトのクエリーで20件指定にしてしまった方が効率的です。

    テーマのfunctions.phpに記述してください。

    function category_display_custom_articles( $wp_query ) {
        if ( $wp_query->is_main_query() && $wp_query->is_category() ) {
            $wp_query->set( 'posts_per_page', 20 );
        }
    }
    add_action( 'pre_get_posts', 'category_display_custom_articles' );
    トピック投稿者 bluegill

    (@bluegill)

    >>jim912様
    書き込みありがとうございます。

    現状以下コードでカテゴリー一覧を共通ページ(common_category.php)にてページナビが機能し表示できましたが表示件数が1件しか表示されなくなりました。
    (カテゴリー記事は各20記事以上あります。)

    見よう見まねで組んでるものでお恥ずかしい限りですが
    ご指南いただけないでしょうか><;

    <?php
    function category_display_custom_articles( $wp_query ) {
    if ( $wp_query->is_main_query() && $wp_query->is_category() ) {
    $wp_query->set( ‘posts_per_page’, 20 );
    }
    }
    add_action( ‘pre_get_posts’, ‘category_display_custom_articles’ ); ?>

    <?php if (have_posts()) : ?>
    <?php while (have_posts()) : the_post(); ?>

    <?php endwhile; ?>
    <?php endif; ?>
    <?php if(function_exists(‘wp_pagenavi’)) { wp_pagenavi(); } ?>

    bluegillさん

    先に提示したコードは、テーマのfunctions.phpに記述して動作するもので、テンプレートファイルに記述しても動作しません。

    トピック投稿者 bluegill

    (@bluegill)

    >>jim912様

    お恥ずかしいかぎりです。
    ファンクションに記入で上手く動きました。
    貴重なお時間いただきありがとうございます。
    本当に助かりました。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「wp_pagenavi 機能しません。」には新たに返信することはできません。