目次
キーテイクアウト
​​
WordPressの検索クエリパラメーターを変更するにはどうすればよいですか?
検索結果から特定の投稿タイプを検索結果から除外するにはどうすればよいですか? pre_get_postsのアクションフックwp_queryクラスと併せて。 「post_type」パラメーターを、検索結果に含める投稿タイプの配列に設定して、他のすべてを効果的に除外します。はい、WP_Queryの「Meta_Query」パラメーターを使用して、WordPressのカスタムフィールド内で検索できます。これにより、カスタムフィールドキーと値を指定し、これらの基準に一致する投稿を返すことができます。 SearchWP、Relevanssi、Ajax Search Proなどのプラグインを使用します。これらのプラグインは、部分的なマッチング、キーワードのステミング、検索の重み付けなどの高度な検索機能を提供し、より良いユーザーエクスペリエンスを提供します。 get_search_form()関数を使用して、プラグインなしでWordPressで検索フォームを作成できます。この関数は、検索フォームのHTMLを生成します。これは、ニーズに合わせてカスタマイズできます。 get_search_query()関数。この関数は検索クエリ文字列を取得し、検索結果ページに検索用語を表示するために使用できます。 wp_queryの「post_per_page」パラメーターを使用して、WordPressの検索結果の数。これにより、ページごとに表示する投稿数を指定し、検索結果の数を効果的に制限できます。
ホームページ CMS チュートリアル &#&プレス WordPressサイトに高度な検索を追加する方法

WordPressサイトに高度な検索を追加する方法

Feb 20, 2025 pm 12:07 PM

How to Add an Advanced Search to Your WordPress Site

WordPressサイトに高度な検索を追加する方法

キーテイクアウト

  • WordPressの検索フォームは、WordPressコアの奥深くにある他のパラメーターを使用して、より焦点を絞った検索結果を可能にすることにより、基本的なクエリストリングパラメーター「S」を超えて強化できます。
  • 検索結果は、それぞれのスラグをそれぞれ「category_name」または「タグ」パラメーターに渡すことにより、カテゴリまたはタグで洗練できます。これは、プラグインを必要とせずに実行できます
  • 高度な検索は、PHPアレイパラメーターを使用して複数の値でさらに洗練できます。これは、WordPressテーマのfunctions.phpファイルでインターセプトして設定できます。これにより、ユーザーはより集中した検索のために複数のタグを選択できます。
  • WordPress検索フォームの大部分は、「S」という名前の単一のクエリストリングパラメーターを設定します。
  • それは何も悪いことではなく、長年にわたって唯一の選択肢だと思いました。 ただし、プラグインの助けがなければ、より高度なクエリが可能です(ただし、たくさんありますが)。 WordPressコアの奥深くにあるアプリケーションは、他のいくつかのクエリストリングパラメーターを解析し、それらを使用して、より焦点を絞った検索結果を返します。パラメーター名をリストする初歩的なドキュメントがいくつかあります。
添付ファイル
<span><span><span><form</span> method<span>="get"</span> action<span>="<?php bloginfo('url'); ?>"</span>></span>
</span><span><span><span><fieldset</span>></span>
</span><span><span><span><input</span> type<span>="text"</span> name<span>="s"</span> value<span>=""</span> placeholder<span>="search&hellip;"</span> maxlength<span>="50"</span> required<span>="required"</span> /></span>
</span><span><span><span><button</span> type<span>="submit"</span>></span>Search<span><span></button</span>></span>
</span><span><span><span></fieldset</span>></span>
</span><span><span><span></form</span>></span></span>
ログイン後にコピー
ログイン後にコピー
    attachment_id
  • 著者
  • 著者_name
  • cat
  • category_name
  • comments_popup
  • day
  • エラー
  • feed
  • hour
  • m
  • minute
  • 月num
  • name
  • p
  • page_id
  • ページング
  • pageName
  • post_parent
  • post_type
  • preview
  • second
  • static
  • subpost
  • subpost_id
  • タグ
  • tag_id
  • tb
  • w
  • year
私はこれらすべての作業が期待されているとは確信しておらず、いくつかは少し無意味ですが、wp_queryに渡すことができるパラメーターと一致しています。したがって、オプションを自動化するために、PHPのスミッジを使用してHTMLを使用して高度な検索フォームを作成できます。

カテゴリごとに検索を改良します SLUGをCategory_Nameパラメーターに渡すことにより、結果をカテゴリに制限できます。

検索フォームにより、ユーザーは検索を特定のカテゴリに絞り込むことができます。
<span><span><span><form</span> method<span>="get"</span> action<span>="<?php bloginfo('url'); ?>"</span>></span>
</span><span><span><span><fieldset</span>></span>
</span><span><span><span><input</span> type<span>="text"</span> name<span>="s"</span> value<span>=""</span> placeholder<span>="search&hellip;"</span> maxlength<span>="50"</span> required<span>="required"</span> /></span>
</span><span><span><span><button</span> type<span>="submit"</span>></span>Search<span><span></button</span>></span>
</span><span><span><span></fieldset</span>></span>
</span><span><span><span></form</span>></span></span>
ログイン後にコピー
ログイン後にコピー
すべてのカテゴリをリストしたい場合は、タグ:
http://yoursite.com/?s=search+term&category_name=kittens
ログイン後にコピー
<span><span><span><form</span> method<span>="get"</span> action<span>="<?php bloginfo('url'); ?>"</span>></span>
</span><span><span><span><fieldset</span>></span>
</span><span><span><span><input</span> type<span>="text"</span> name<span>="s"</span> value<span>=""</span> placeholder<span>="search&hellip;"</span> maxlength<span>="50"</span> required<span>="required"</span> /></span>
</span><span><span><span><select</span> name<span>="category_name"</span>></span>
</span><span><span><span><option</span> value<span>=""</span>></span>all categories<span><span></option</span>></span>
</span><span><span><span><option</span> value<span>="kittens"</span>></span>cute kittens<span><span></option</span>></span>
</span><span><span><span><option</span> value<span>="puppies"</span>></span>adorable puppies<span><span></option</span>></span>
</span><span><span><span></select</span>></span>
</span><span><span><span><button</span> type<span>="submit"</span>></span>Search<span><span></button</span>></span>
</span><span><span><span></fieldset</span>></span>
</span><span><span><span></form</span>></span></span>
ログイン後にコピー
タグ

で検索を改良します 検索結果は、スラグをタグパラメーターに渡すことにより、タグに制限できます。

したがって、検索は結果を特定のタグに制限する可能性があります。
<span><span><?php
</span></span><span><span>// generate list of categories
</span></span><span><span>$categories = get_categories();
</span></span><span><span>foreach ($categories as $category) {
</span></span><span>	<span>echo '<option value="', $category->slug, '">', $category->name, "</option>\n";
</span></span><span><span>}
</span></span><span><span>?></span></span>
ログイン後にコピー
同様に、選択フィールドのすべてのタグのリストを生成できます。
http://yoursite.com/?s=search+term&tag=cockroach
ログイン後にコピー
高度な検索の進行
<span><span><span><form</span> method<span>="get"</span> action<span>="<?php bloginfo('url'); ?>"</span>></span>
</span><span><span><span><fieldset</span>></span>
</span><span><span><span><input</span> type<span>="text"</span> name<span>="s"</span> value<span>=""</span> placeholder<span>="search&hellip;"</span> maxlength<span>="50"</span> required<span>="required"</span> /></span>
</span><span><span><span><select</span> name<span>="tag"</span>></span>
</span><span><span><span><option</span> value<span>=""</span>></span>any tag<span><span></option</span>></span>
</span><span><span><span><option</span> value<span>="cockroach"</span>></span>cockroaches<span><span></option</span>></span>
</span><span><span><span><option</span> value<span>="snake"</span>></span>snakes<span><span></option</span>></span>
</span><span><span><span></select</span>></span>
</span><span><span><span><button</span> type<span>="submit"</span>></span>Search<span><span></button</span>></span>
</span><span><span><span></fieldset</span>></span>
</span><span><span><span></form</span>></span></span>
ログイン後にコピー

複数の値で検索を改良する場合はどうなりますか?たとえば、ユーザーは2つ以上のタグを選択し、結果のページをすべて設定する必要があります。 URLパラメーターのみを使用してこれを達成することはできませんが、HTML検索フォームを定義することから始めましょう。

タグリストという名前のPHPアレイパラメーターを使用したことに注意してください 。 WordPressによってすでに予約されているもの以外の名前は任意の名前を使用できます(上記のリストを参照)。 WordPressテーマのfunctions.phpファイルで検索送信をインターセプトできるようになりました。 Advanced_search_query関数は、検索がアクティブであるかどうかを検出し、それに応じてwp_query tag_slug__andパラメーターを設定します。
<span><span><?php
</span></span><span><span>// generate list of tags
</span></span><span><span>$tags = get_tags();
</span></span><span><span>foreach ($tags as $tag) {
</span></span><span>	<span>echo '<option value="', $tag->slug, '">', $tag->name, "</option>\n";
</span></span><span><span>}
</span></span><span><span>?></span></span>
ログイン後にコピー
最後に、クエリが実行される前に、PRE_GET_POSTSアクションフックを使用してdabanced_search_query関数を実行します。
<span><span><span><form</span> method<span>="get"</span> action<span>="<span><?php bloginfo('url'); ?></span>"</span>></span>
</span><span><span><span><fieldset</span>></span>
</span><span><span><span><input</span> type<span>="text"</span> name<span>="s"</span> value<span>=""</span> placeholder<span>="search&hellip;"</span> maxlength<span>="50"</span> required<span>="required"</span> /></span>
</span><span><span><span><p</span>></span>Refine search to posts containing chosen tags:<span><span></p</span>></span>
</span><span><span><?php
</span></span><span><span>// generate list of tags
</span></span><span><span>$tags = get_tags();
</span></span><span><span>foreach ($tags as $tag) {
</span></span><span>	<span>echo 
</span></span><span>		<span>'<label>',
</span></span><span>		<span>'<input type="checkbox" name="taglist[]" value="',  $tag->slug, '" /> ',
</span></span><span>		<span>$tag->name,
</span></span><span>		<span>"</label>\n";
</span></span><span><span>}
</span></span><span><span>?></span>
</span><span><span><span><button</span> type<span>="submit"</span>></span>Search<span><span></button</span>></span>
</span><span><span><span></fieldset</span>></span>
</span><span><span><span></form</span>></span></span>
ログイン後にコピー
WordPressに高度な検索機能を追加するのは非常に簡単ですが、それが可能であると認識している開発者はほとんどいません...おそらく、ドキュメントと例が少しまばらであるためです
<span>// advanced search functionality
</span><span>function advanced_search_query($query) {
</span>
	<span>if($query->is_search()) {
</span>		
		<span>// tag search
</span>		<span>if (isset($_GET['taglist']) && is_array($_GET['taglist'])) {
</span>			<span>$query->set('tag_slug__and', $_GET['taglist']);
</span>		<span>}
</span>	
		<span>return $query;
</span>	<span>}
</span>
<span>}</span>
ログイン後にコピー
。偶然に発見したので、次のWordPressプロジェクトでこのコードが役立つことを願っています。 WordPressでの高度な検索に関するよくある質問 WordPressで検索結果をカスタマイズするにはどうすればよいですか?

​​

WordPressで検索結果をカスタマイズすることは、wp_queryクラスを使用して実現できます。このクラスを使用すると、特定のパラメーターを定義して検索結果を調整できます。たとえば、投稿タイトル内でのみ検索するパラメーターを設定したり、特定の投稿タイプを除外したり、カスタムフィールド内で検索したりできます。また、高度な検索カスタマイズオプションを提供するSearchWPなどのプラグインを使用することもできます。 get_the_tags()関数を使用することにより、特定の投稿に関連付けられたタグを取得できます。これは、より洗練された検索エクスペリエンスを作成するために使用でき、ユーザーは特定のタグで投稿を検索できます。

WordPressの検索クエリパラメーターを変更するにはどうすればよいですか?

​​

WordPressの検索クエリパラメーターを「query_vars」フィルターを使用して変更できます。これにより、デフォルトの「s」パラメーターをニーズにより具体的なものに変更できます。たとえば、URLをよりユーザーフレンドリーにするために「search_term」に変更できます。クエリとループ。ポストタイプ、カテゴリ、タグ、著者など、クエリをカスタマイズするために使用できる多数のパラメーターを提供します。これにより、高度な検索機能を作成するための強力なツールになります。

検索結果から特定の投稿タイプを検索結果から除外するにはどうすればよいですか? pre_get_postsのアクションフックwp_queryクラスと併せて。 「post_type」パラメーターを、検索結果に含める投稿タイプの配列に設定して、他のすべてを効果的に除外します。はい、WP_Queryの「Meta_Query」パラメーターを使用して、WordPressのカスタムフィールド内で検索できます。これにより、カスタムフィールドキーと値を指定し、これらの基準に一致する投稿を返すことができます。 SearchWP、Relevanssi、Ajax Search Proなどのプラグインを使用します。これらのプラグインは、部分的なマッチング、キーワードのステミング、検索の重み付けなどの高度な検索機能を提供し、より良いユーザーエクスペリエンスを提供します。 get_search_form()関数を使用して、プラグインなしでWordPressで検索フォームを作成できます。この関数は、検索フォームのHTMLを生成します。これは、ニーズに合わせてカスタマイズできます。 get_search_query()関数。この関数は検索クエリ文字列を取得し、検索結果ページに検索用語を表示するために使用できます。 wp_queryの「post_per_page」パラメーターを使用して、WordPressの検索結果の数。これにより、ページごとに表示する投稿数を指定し、検索結果の数を効果的に制限できます。

以上がWordPressサイトに高度な検索を追加する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

パーソナライズされた結果のためにWordPressでユーザー情報をログインする方法 パーソナライズされた結果のためにWordPressでユーザー情報をログインする方法 Apr 19, 2025 pm 11:57 PM

最近、ユーザーがお気に入りの投稿をパーソナライズされたライブラリに保存できるようにすることで、ユーザー向けのパーソナライズされたエクスペリエンスを作成する方法を示しました。一部の場所で名前を使用することで、パーソナライズされた結果を別のレベルに引き上げることができます(つまり、ウェルカム画面)。幸いなことに、WordPressにより、ユーザーのログインに関する情報を簡単に入手できます。この記事では、現在ログインしているユーザーに関連する情報を取得する方法を紹介します。 get_currentuserinfo()を使用します。  関数。これは、テーマ(ヘッダー、フッター、サイドバー、ページテンプレートなど)のどこでも使用できます。それが機能するためには、ユーザーをログインする必要があります。したがって、使用する必要があります

WordPressの記事リストを調整する方法 WordPressの記事リストを調整する方法 Apr 20, 2025 am 10:48 AM

WordPressの記事リストを調整するには4つの方法があります。テーマオプションを使用し、プラグイン(投稿タイプの注文、WP投稿リスト、ボックスのものなど)を使用し、コード(functions.phpファイルに設定を追加)を使用するか、WordPressデータベースを直接変更します。

WordPressブログを始める方法:初心者向けのステップバイステップガイド WordPressブログを始める方法:初心者向けのステップバイステップガイド Apr 17, 2025 am 08:25 AM

ブログは、人々が自分の意見、意見、意見をオンラインで表現するための理想的なプラットフォームです。多くの初心者は自分のウェブサイトを構築することに熱心ですが、技術的な障壁やコストの問題を心配することをためらっています。ただし、プラットフォームが初心者の能力とニーズを満たすために進化し続けるにつれて、今まで以上に容易になり始めています。 この記事では、テーマの選択からプラグインの使用まで、セキュリティとパフォーマンスを向上させ、独自のWebサイトを簡単に作成できるように、WordPressブログを構築する方法を段階的に導きます。 ブログのトピックと方向を選択してください ドメイン名を購入したり、ホストを登録する前に、カバーする予定のトピックを特定することをお勧めします。個人的なウェブサイトは、旅行、料理、製品のレビュー、音楽、またはあなたの興味を引き起こす趣味を中心に展開できます。あなたが本当に興味を持っている領域に焦点を当てることは継続的な執筆を奨励することができます

親カテゴリのアーカイブページに子カテゴリを表示する方法 親カテゴリのアーカイブページに子カテゴリを表示する方法 Apr 19, 2025 pm 11:54 PM

親カテゴリアーカイブページに子カテゴリを表示する方法を知りたいですか?分類アーカイブページをカスタマイズするときは、訪問者にとってより便利にするためにこれを行う必要がある場合があります。この記事では、親カテゴリアーカイブページに子カテゴリを簡単に表示する方法を示します。サブカテゴリが親カテゴリアーカイブページに表示されるのはなぜですか?親カテゴリアーカイブページにすべての子カテゴリを表示することにより、訪問者にとってより一般的で便利になります。たとえば、本に関するWordPressのブログを実行し、「テーマ」と呼ばれる分類法を持っている場合、「小説」、「ノンフィクション」などのサブ課題を追加して、読者ができるようにすることができます。

WordPressの有効期限後の日付で投稿を並べ替える方法 WordPressの有効期限後の日付で投稿を並べ替える方法 Apr 19, 2025 pm 11:48 PM

過去には、拡張後のプラグインを使用してWordPressの投稿を期限切れにする方法を共有してきました。さて、Activity List Webサイトを作成するとき、このプラグインは非常に便利であることがわかりました。期限切れのアクティビティリストを簡単に削除できます。第二に、このプラグインのおかげで、有効期限後の日付までに投稿を並べ替えることも非常に簡単です。この記事では、WordPressの有効期限後の日付で投稿を並べ替える方法を紹介します。プラグインの変更を反映してカスタムフィールド名を変更するためのコードを更新しました。コメントで私たちに知らせてくれたTajimに感謝します。特定のプロジェクトでは、イベントをカスタムポストタイプとして使用します。今

WordPressホスト用のWebサイトを構築する方法 WordPressホスト用のWebサイトを構築する方法 Apr 20, 2025 am 11:12 AM

WordPressホストを使用してWebサイトを構築するには、次のようにする必要があります。信頼できるホスティングプロバイダーを選択します。ドメイン名を購入します。 WordPressホスティングアカウントを設定します。トピックを選択します。ページと記事を追加します。プラグインをインストールします。ウェブサイトをカスタマイズします。あなたのウェブサイトを公開します。

IFTTT(およびその他)でWordPressとソーシャルメディアを自動化する方法 IFTTT(およびその他)でWordPressとソーシャルメディアを自動化する方法 Apr 18, 2025 am 11:27 AM

WordPress Webサイトやソーシャルメディアアカウントを自動化する方法をお探しですか? 自動化を使用すると、WordPressのブログ投稿やFacebook、Twitter、LinkedIn、Instagramなどで自動的に共有できます。 この記事では、IFTTT、Zapier、およびUncanny Automatorを使用してWordPressとソーシャルメディアを簡単に自動化する方法を紹介します。 WordPressとソーシャルメディアを自動化する理由 WordPreを自動化します

WordPressでクエリカウントとページの読み込み時間を表示する方法 WordPressでクエリカウントとページの読み込み時間を表示する方法 Apr 19, 2025 pm 11:51 PM

ユーザーの1人が、フッターにクエリの数とページの読み込み時間を表示する方法を他のWebサイトに尋ねました。これをウェブサイトのフッターでよく見ることがよくあり、「1.248秒で64クエリ」のようなものを表示する場合があります。この記事では、WordPressにクエリの数とページの読み込み時間を表示する方法を紹介します。テーマファイル(たとえば、footer.php)で好きな場所に次のコードを貼り付けます。クエリエシン

See all articles