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

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

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

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

検索

検索は、あるデータの集まりの中から 目的のデータを見つけ出すことです。

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

Q&A

0回答

422閲覧

WordPressのカスタムフィールド値による検索結果一覧ページで、1ページあたりの表示件数を設定する

web23

総合スコア0

WordPress

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

検索

検索は、あるデータの集まりの中から 目的のデータを見つけ出すことです。

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

0グッド

0クリップ

投稿2020/10/28 09:44

編集2020/10/28 09:47

前提・実現したいこと

Wordpressでカスタム投稿ページの持つカスタムフィールド値に、検索キーワードが含まれていれば検索結果に一覧表示させ、1ページの表示数を10件までとしたいです。
通常のWordPressの検索結果にはかからないため、データベースからキーワードに合致する記事IDを抽出し変数$data_postに格納しました。
一覧として表示するところまではできていますが、通常のWordPressのアーカイブページのように表示数の限度を設け、ページ送りで閲覧できるようにしたいです。

発生している問題・エラーメッセージ

$data_post内には既に配列として、検索キーワードに該当したカスタム投稿ページのIDが格納されています。
以下の例では11件該当データがあります。
posts_per_pageをこの配列に対して使い、この配列の中から10件まで現在のページに表示させ、残りは次のページに表示させる方法がわかりません。
現在は、foreach文で、以下の配列内で、該当データの記事IDが格納されている$postidの個数分ループさせております。

var_dump($data_post); array (size=11) 0 => string '3609' (length=4) 1 => string '3624' (length=4) 2 => string '3625' (length=4) 3 => string '3626' (length=4) 4 => string '3627' (length=4) 5 => string '3628' (length=4) 6 => string '3629' (length=4) 7 => string '3630' (length=4) 8 => string '3631' (length=4) 9 => string '3632' (length=4) 10 => string '3633' (length=4)
### 該当のソースコード search.form.php <?php if(!empty($data_post)): ?> <ul> <?php           foreach($data_post as $postid):           $post = get_post($postid);      ?> <li><a href="<?php echo get_permalink();?>"><?php echo the_title();?></a></li> <?php endforeach; ?> </ul> <?php else: ?> <div> <p>検索結果はありません</p> </div> <?php endif; ?>
ーーー出力結果ーーー 〇〇役場 〇〇市役所 ・ ・ 〇〇役場 11件 ### 補足情報(FW/ツールのバージョンなど) WordPress v5.5.1, PHP v7.3.5

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

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

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

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

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

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

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

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

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問