サポート » 使い方全般 » 記事一覧ページも検索の対象にしたい

  • 解決済 ioxrxogi

    (@ioxrxogi)


    現在いろいろ試行錯誤中ですが、

    Custom Post Type UI と Advanced Custom Fields を使って、カスタムフィールドを持ったカスタム投稿を作っています。例えば、

    1.ショップ名
    2.開店時間
    3.外観
    4.店長
    5.コメント

    として、固定ページにこれらの項目から、
    例えば1と2を抜き出して、一覧にしたページを作っています。
    この一覧は、例えば1ページあたり10件とします。
    (当然ですが、カスタム投稿が増えれば1ページ目の内容も変わる可能性があります。)

    検索をかけるとカスタム投稿のページはヒットしますが、
    この固定ページはそのページを開いて初めて成り立つので?ヒットしません。

    これを、ヒットさせる方法はあるのでしょうか。
    (これというのは、検索にヒットしたカスタム投稿を含んだ固定ページとして)

    例えば、固定ページの2ページ目に検索したものがあるとして、
    その2ページ目を開く方法はあるのでしょうか。

10件の返信を表示中 - 1 - 10件目 (全10件中)
  • ありません。

    WordPressとは異なる検索の仕組みを検討されてはどうでしょうか。
    Googleカスタム検索などは一般的によく設置されていると思います。
    検索結果一覧などはあまり思い通りにならないですが。

    https://cse.google.co.jp/cse/

    トピック投稿者 ioxrxogi

    (@ioxrxogi)

    やはりありませんか。

    >>WordPressとは異なる検索の仕組み

    そうですね、考え方を変えて検討してみます。
    とりあえず、やれることからやってみます。

    検索結果や固定ページの内容って、archive-カスタム投稿.php で1と2のみ表示と違うもんなんですか。

    トピック投稿者 ioxrxogi

    (@ioxrxogi)

    >>archive-カスタム投稿.php で1と2のみ表示と違うもんなんですか

    固定ページはまさしくarchive-カスタム投稿.phpを加工したものです。
    必要なものだけ抜萃したものです。

    興味本位で出口(解決策)は見えないんですが、アーカイブって検索した時含まれないのでしょうか。
    検索したけどいきあたらなかった。

    WordPress 標準の検索は WP_Query の s パラメータで行いますが、これは投稿(固定ページ、カスタム投稿を含む)の本文とタイトルだけが対象です。アーカイブページは表示するときに PHP コードで生成されるので、対象になっていません。

    トピック投稿者 ioxrxogi

    (@ioxrxogi)

    そうですね。
    検索方法とかを検索してみたのですが、これというものに行き当たりませんでした。

    検索だとどうしても絞り込む方向のものが多いようなので、
    結果として投稿そのものがヒットする形になってしまうようです。

    なるほどWP_Queryのパラメータですか。勉強になりました。
    結局URLのクエリー文字列の対象の問題なんでしょうか。

    結局スレ主さんがしてほしい最終的なユーザーの反応次第かなとかも思わないではないです。

    最初からカスタム投稿の抜粋ページに誘導して探せみたいな感じではだめなのかなと思ったり。

    いつもそのページでの絞り込みはどうするんだろうと悩む自分です。
    以上お邪魔しました。

    トピック投稿者 ioxrxogi

    (@ioxrxogi)

    もともとの経緯がワードプレスを使っていないホームページに
    個別のデータと一覧のデータのページがあるのですが、
    ワードプレスを触りだして、そのまま固定ページに一覧ページを作ろうと思っていたら、
    アーカイブが一覧の代わりになることにはたと気づいて、、、。

    で、検索フォームを作っていて、あれっとなったわけです。

    >>最初からカスタム投稿の抜粋ページに誘導して

    そうですね、その辺の誘導が必要かもしれませんね。

    思いつきにおつきあいいただきありがとうございます。

10件の返信を表示中 - 1 - 10件目 (全10件中)
  • トピック「記事一覧ページも検索の対象にしたい」には新たに返信することはできません。