質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

Q&A

2回答

1564閲覧

【WordPress】post_queryで取得件数の制御

yuukiitou

総合スコア8

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

0グッド

0クリップ

投稿2016/08/31 06:01

編集2016/08/31 06:11

###前提・実現したいこと

$arg = array( 'post_type'=>'hoge', 'orderby'=>'post_date', 'order'=>'DESC', 'paged'=>$paged, 'posts_per_page' => 10 ); query_posts( $arg );

このような処理にて1ページの表示件数は制御できますが、
取得可能全件のページングではなく、数百一致した場合でも20件、つまり2ページまでをページングで!

といった事を実現する方法はありますでしょうか?

get_posts()などで取得し、自前でページング制御も考えてはおりますが
既存処理に影響が大きそうなので、もっと簡単に実現できる方法があればなと思い
質問させて頂きました。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kei344

2016/08/31 06:09 編集

コードはコードブロックで囲んでいただけませんか? ```(バッククオート3つ)で囲み、前後に改行をいれるか、コードを選択して「<code>」ボタンを押すとコードブロックになります。また、カスタムポストタイプの一覧を作る場合についてでしょうか。
yuukiitou

2016/08/31 06:13

ご指摘ありがとうございました。 現在、上記コードにてカスタムポストの一覧をページング処理されています。 ただ、ページ数を2ページまでに制限してほしいと言われたのですが 自前で制御し直すよりも良い方法が無いものかと思い投稿いたしました。
guest

回答2

0

表示のみの制御でよければページングの出力部分で出力しないと言う方法でよいと思います。また、20件出力して、10件分のみ表示し、JavaScriptで切り替えると言う手段もあります。

本格的に消すのであれば、template_redirect フックで現在ページが3件目以降であれば404を返すとか。

【不要なページを無効化する (404) | WordPressカスタマイズ事典】
http://wpcj.net/1520


気になったのですが、query_posts を使って一覧ページを作らなくても、カスタム投稿タイプを作成するときに 'has_archive' => true にすれば良いのでは。さらに pre_get_posts を使えば件数の制御などができます。

【カスタム投稿タイプの一覧ページの作成 | Web Design Leaves】
http://www.webdesignleaves.com/wp/wordpress/965/

【カスタム投稿タイプのアーカイブページが表示されない場合の直し方】
http://www.firstsync.net/homepage/9045/

【[Wordpress]pre_get_postsを使いこなす!pre_get_posts使い方まとめ | EMiAC-Works】
http://emiac-works.com/coding/pre-get-posts-code-snipet/

投稿2016/08/31 06:40

kei344

総合スコア69407

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

WordPressコアのソースコードを覗いてみましたが、いい感じのフィルターフックは無さそうです。なので、少々無理矢理感有りますが、JavaScriptとCSSで表示を制御してみるのはいかがでしょうか?いざとなれば、JavaScriptとCSSを外せばいいので、車輪の再発明をするよりは良さそうな気もします。

投稿2016/08/31 06:24

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yuukiitou

2016/08/31 06:30

確かに表示上だけ3ページ以降のリンクを消す・・・ありです! ありがとうございます! 他に回答無ければベストアンサーにさせていただきます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問