プラグインなしで記事ページや固定ページに検索フォームを表示するスニペット

検索フォームのショートコード

PHPの記述ができない記事ページや固定ページで検索フォームを呼び出したい場合、ショートコードを作成することで、投稿や固定ページ内でも検索フォームを表示できるようにできます。

今回は、プラグインなしで記事ページや固定ページに検索フォームを表示するスニペットについてご紹介します。

get_search_formで検索フォームを設置

WordPressには、検索フォームを設置するための get_search_form という簡単で便利な関数があります。

テンプレートの好きな箇所に以下の1行を書き加えれば、その場所に検索フォームが表示されるようになります。

PHP

<?php get_search_form(); ?>

このようにPHPで設置する為、エディターではPHPのコードが記載できずプラグインなどで記述できるようにしない限り、PHPを使った方法で検索フォームを表示することはできません。

その為、以下のショートコードでの方法は投稿や固定ページ、ウィジェットで検索フォームが表示できるので汎用性が高い方法です。

ショートコードを作って表示する方法

WordPressの検索フォームを、投稿や固定ページに表示させる手順は以下3つの手順で表示させます。

STEP.1
検索フォームのショートコードを作る。
WordPressの検索フォームを呼び出す為、functions.phpにショートコードを作ります。
STEP.2
表示させたい場所にショートコードを設置。
検索フォームを表示させたい場所に、作ったショートコードを設置します。
STEP.3
表示されていることを確認。
検索フォームが表示されているか確認しましょう。

コピペだけで完成ですが、functions.php をいじるので注意しましょう。

注意
functions.phpをいじる場合、ftpで必ずバックアップを取ってから行い、テーマ本体ではなく子テーマの方に関数をコピペするようにしましょう。

検索フォームのショートコードを作る。

WordPressの検索フォームを呼び出すため、専用ショートコードを作成します。
以下のコードを、functions.phpに追記してください。

PHP

function search_form_shortcode( ) {
ob_start();
get_search_form( );
return ob_get_clean();
}
add_shortcode( 'search', 'search_form_shortcode' );

上記のコードを追記するだけで、ショートコードは完成です。

表示させたい場所にショートコードを設置。

検索フォームを表示させたい箇所に、以下のショートコードを貼り付けます。

ショートコード

このショートコードを貼り付ければ、検索フォームの設置は完了です。

表示されていることを確認。

ショートコードを貼り付けたところに、検索フォームが表示されているか確認しましょう。

これまでの手順に誤りがなければ、検索フォームが表示されているはずですが、誤りがないにも関わらず、検索フォームが表示されない場合がありますが、
プラグインやテーマとの相性が原因である可能性があるので、色々と見直してみましょう。

カテゴリーのイラスト

同じカテゴリの記事一覧

ボタンの影