カスタム投稿ターム別ページ記事一覧の表示件数を設定したい

考えてみれば、カスタム投稿タイプの記事一覧での表示件数って
管理画面の「設定」に準ずるんですよね。
そして、それだと都合の悪い時って、どうしても出てくるのですよ。
普通のブログページではブログを、カスタム投稿でメニューを出す時とか。
メニューで「>>次のページへ」とか、なかなか見ませんから。
しかもターム別ページなんかあったりすると、更にややこしいことに。

和風パスタのおいしい店に行きたい
捏造バレバレの画像で表現してみました。

こういう時に使えるのが、query_posts です。
ここの posts_per_page の数値を-1にすることで、全ての記事が表示されます。
999なんて姑息なことをしなくてもいいんです。

<参考サイト様>
wordpress カスタム投稿のタームの出力いろいろpage、archive、single.php(Web Designerのしおり)

上記の記事を参考に、何とか設定しました。
場所は様々あるかとは思いますが、今回の場合、各ターム別ページを表示させたかったので
taxonomy-○○○(タクソノミー名).php です。(例題だとtaxonomy-pasta.php)

カスタム投稿タイプ:italian
タクソノミー名:pasta
ターム名:oil,tomato

<?php if(is_tax('pasta', 'oil')): ?>//タームごとに対応させるためにターム名を指定
<?php
    $args=array(
        'tax_query' => array(
            array(
                'taxonomy' => 'pasta', //タクソノミーを指定
                'field' => 'slug', //ターム名をスラッグで指定する
                'terms' => array( 'oil' ) //表示したいタームをスラッグで指定
            ),
        ),
        'post_type' => 'italian', //カスタム投稿名
        'posts_per_page'=> -1 //表示件数(-1で全ての記事を表示)
    );
 ?>
<?php query_posts( $args ); ?>

<?php elseif(is_tax('pasta', 'tomato')): ?>//タームごとに対応させるためにターム名を指定
<?php
    $args=array(
        'tax_query' => array(
            array(
                'taxonomy' => 'pasta', //タクソノミーを指定
                'field' => 'slug', //ターム名をスラッグで指定する
                'terms' => array( 'tomato' ) //表示したいタームをスラッグで指定
            ),
        ),
        'post_type' => 'italian', //カスタム投稿名
        'posts_per_page'=> -1 //表示件数(-1で全ての記事を表示)
    );
 ?>
<?php query_posts( $args ); ?>
<?php else: ?>
<?php endif; ?>

例題が明らかにおかしいですが、これは私がA市の某所にある生パスタの店に行きたいからです。
屋台村から独立して数年、私はまだ一度も足を運んでいません。
……GWも終わり、そろそろ夏に向けて親睦会などを行う季節ですね。

【ハートブレーン】http://heartbrain.net

メールでのお問合せ・お見積りはコチラ