サポート » 使い方全般 » カスタム投稿タイプにて、特定のターム除外およびページネーションする

  • 解決済 atikuti

    (@atikuti)


    現在、下記のコードにてカスタム投稿タイプを固定ページにて一覧表示させています。
    —–
    <?php
    $temp = $wp_query;
    $wp_query = null;
    $wp_query = new WP_Query();
    $wp_query->query(‘post_type=カスタム投稿タイプ名’. ‘&paged=’ . $paged . ‘&posts_per_page=3);
    ?>
    <?php while ( $wp_query->have_posts() ) : $wp_query->the_post(); ?>
     … 内容 …
    <?php endwhile; ?>
    <?php wp_pagenavi(); ?>
    <?php wp_reset_query(); ?>
    —–

    この際、この投稿タイプ内の特定のターム(スラッグ:cat01、ID=75)を除外したいのですが除外されません。
     
    どのように記述したら、特定のタームを除外しページネーションも動作するようにできるでしょうか?
    どなたかご教授ください。
    どうぞよろしくお願いいたします。

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • トピック投稿者 atikuti

    (@atikuti)

    別のアプローチで特定のタームのみ表示することは出来たのですが、
    今度はページネーションが効きません。

    どんな方法でもかまいませんので、「特定のタームを除外」「ページネーションも動作」
    する方法をどなたかご教授ください。

    —–
    <?php $paged = (get_query_var(‘paged’)) ? get_query_var(‘paged’) : 1; ?>

    <?php
    $args=array(
    ‘tax_query’ => array(
    array(
    ‘taxonomy’ => ‘タクソノミー名’,
    ‘field’ => ‘slug’, //ターム名をスラッグで指定する
    ‘terms’ => array( ‘cat00′,’cat05′,’cat06′,’cat07’ ) //表示したいタームをスラッグで指定
    ),
    ),
    ‘post_type’ => ‘カスタム投稿タイプ名’,
    ‘posts_per_page’=> 3 //表示件数(-1で全ての記事を表示)
    );
    ?>
    <?php query_posts( $args ); ?>

    <?php if (have_posts()) :while (have_posts()) :
    the_post(); ?>
     … 内容 …
    <?php endwhile; ?>
    <?php endif; ?>
    <?php wp_pagenavi(); ?>
    <?php wp_reset_query(); ?>

    pluto1234

    (@pluto1234)

    引数に ‘paged’ の指定がないからでは?

    <?php $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; ?>
    <?php
    $args=array(
        'tax_query' => array(
            array(
                'taxonomy' => 'タクソノミー名',
                'field' => 'slug', //ターム名をスラッグで指定する
                'terms' => array( 'cat00','cat05','cat06','cat07' ) //表示したいタームをスラッグで指定
            )
        ),
        'post_type'       => 'カスタム投稿タイプ名',
        'paged'           => $paged, // ★★★
        'posts_per_page'  => 3 //表示件数(-1で全ての記事を表示)
    );
    ?>
    <?php query_posts( $args ); ?>
    <?php if (have_posts()) : ?>
        <?php while (have_posts()) :the_post(); ?>
          ... 内容 ...
        <?php endwhile; ?>
        <?php wp_pagenavi(); ?>
    <?php endif; ?>

    トピック投稿者 atikuti

    (@atikuti)

    早速のご返信をありがとうございます。
    頂いたソースで思い通りの動作をしました。
    本当にありがとうございます。

    ページ番号として「paged」を入れないといけないのですね。
    理解しないまま使っていました。
    これを機会にもう少し理解していきたいと思います。
    本当にありがとうございました。

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • トピック「カスタム投稿タイプにて、特定のターム除外およびページネーションする」には新たに返信することはできません。