get_search_form

説明

string | void get_search_form( [ bool $echo = true array | bool $args = array() ] )
サイト内検索フォームのテンプレートファイルを読み込んで表示する。

パラメータ

  • $echo
    [5.2.0]キー'echo'で表示指定を、キー'aria_label'でform要素のaria-label属性値を格納した連想配列を指定(省略時はarray())
    [3.0.0]表示する場合はtrue、内容を取得する場合はfalseを指定(省略時はtrue)

返り値

[5.2.0]パラメータ$argsがfalseかキー'echo'の場合は検索フォームのHTMLを返す。それ以外は返り値はありません。
[3.0.0]パラメータ$echoがfalseの場合は検索フォームのHTMLを返す。パラメータ$echoがtrueの場合は返り値はありません。


注意

テーマ内の検索フォームテンプレートファイルsearchform.phpが存在しない場合は、WordPress標準の検索フォームが表示される。

[5.2.0]パラメータが表示を指定するbool値から連想配列に変更され、既定値とマージされて使用される。

キー$argsがtrue$argsがfalse$argsがarray( 'aria_label' => 'Search' )
'echo'truefalsetrue
'aria_label''''''Search'

使用例

  • 検索フォームテンプレートファイルsearchform.phpを出力する。
    <?php get_search_form( ); ?>

フィルター

[5.2.0]'search_form_args'フィルターを呼び出す。パラメータ$argsには受け取った内容を既定値とマージした内容が格納されている。
$args = apply_filters( 'search_form_args', $args );
[3.6.0]'search_form_format'フィルターを呼び出す。パラメータ$formatはHTMLフォーマットの内容として'html5'または'xhtml'が格納されている。[5.5.0]パラメータ$argsが追加され、本関数が受け取った内容が格納されている。
$format = apply_filters( 'search_form_format', $format, $args );
[2.7.0]表示または値を返す直前に'get_search_form'フィルターを呼び出す。パラメータ$formには検索フォームのHTMLが格納されている。[5.5.0]パラメータ$argsが追加され、本関数が受け取った内容が格納されている。
$result = apply_filters( 'get_search_form', $form, $args );

アクション

[3.6.0]はじめにpre_get_search_formアクションを呼び出す。[5.5.0]パラメータ$argsが追加され、本関数が受け取った内容が格納されている。
do_action( 'pre_get_search_form', $args );

ソースファイル

/wp-includes/general-template.php

最終更新 : 2020年08月18日 11:40



お勧め

プラグインのロード順を制御する(2014年6月9日 更新)

これまでプラグインがどのような順番でロードされるか意識していなかったのだが、とある自作プラグインを他のプラグインよりも先にロードさせたくなったので調べてみた。

Emojin:プラグイン作ってみました(2015年3月21日 更新)

ちょっと前のTLでiOSの絵文字を含んだ投稿を保存すると、絵文字以降の文章がすべて消えた状態で保存されるといったツイートを見かけた。少し検索してみると、MySQLのデータベースの文字セットが「utf8」の場合、iOSの絵文字のような4バイトの文字を正常に保存できず、それ以降の文章も保存されないというものらしい。対処方法としてデータベースの文字セットを「utf8mb4」に変更するのが有効らしいのだが、他に回避策がないか考えてみた。

Contact Form 7に確認フェーズを(2012年12月16日 更新)

Contact Form 7はWordPressによるサイト製作でお世話になることが多いプラグインの1つ。ただ、クライアント様によっては、入力、確認、送信の3フェーズにしたいという要望があり、そんな時は別の方法を採用していたのですが、JavaScript(jQuery)を使ってページ遷移しなくてもいいなら確認フェーズは用意できるかなと思い、作り込んでみた。

プラグインのヘッダー情報を国際化対応しよう(2018年5月27日 更新)

バージョン4.8がリリースされてひと段落。あらためてプラグイン一覧ページを見てみると「Akismet」が「Akismet Anti-Spam (アンチスパム)」と表示されていた。説明文だけじゃなくプラグイン名も国際化対応できたのね。

メタボックスをクラシックエディターのみで表示する(2019年1月15日 更新)

投稿画面向けにメタボックスを使ったプラグインがあり、それがブロックエディターで意図した通りに機能しなかった。この対処方法を考える過程でエディタータイプに応じてメタボックスを出し分けできる方法が見つかったので紹介したい。