福井県のweb制作は有限会社ハートブレーン
14.05.19

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

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

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

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

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

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

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

[php]
<?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; ?>
[/php]

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

【ハートブレーン】https://blog.heart-kokoro.net

【ハートブレーン】https://heartbrain.net
最後までご覧いただき、ありがとうございました。
よろしければ、SNSでのシェアやランキングなど、応援よろしくお願いします。


Webサイト・CGIランキング

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