PHPの記述ができない記事ページや固定ページで検索フォームを呼び出したい場合、ショートコードを作成することで、投稿や固定ページ内でも検索フォームを表示できるようにできます。
今回は、プラグインなしで記事ページや固定ページに検索フォームを表示するスニペットについてご紹介します。
get_search_formで検索フォームを設置
WordPressには、検索フォームを設置するための get_search_form という簡単で便利な関数があります。
テンプレートの好きな箇所に以下の1行を書き加えれば、その場所に検索フォームが表示されるようになります。
<?php get_search_form(); ?>
このようにPHPで設置する為、エディターではPHPのコードが記載できずプラグインなどで記述できるようにしない限り、PHPを使った方法で検索フォームを表示することはできません。
その為、以下のショートコードでの方法は投稿や固定ページ、ウィジェットで検索フォームが表示できるので汎用性が高い方法です。
ショートコードを作って表示する方法
WordPressの検索フォームを、投稿や固定ページに表示させる手順は以下3つの手順で表示させます。
コピペだけで完成ですが、functions.php をいじるので注意しましょう。
検索フォームのショートコードを作る。
WordPressの検索フォームを呼び出すため、専用ショートコードを作成します。
以下のコードを、functions.phpに追記してください。
function search_form_shortcode( ) {
ob_start();
get_search_form( );
return ob_get_clean();
}
add_shortcode( 'search', 'search_form_shortcode' );
上記のコードを追記するだけで、ショートコードは完成です。
表示させたい場所にショートコードを設置。
検索フォームを表示させたい箇所に、以下のショートコードを貼り付けます。
[search]
このショートコードを貼り付ければ、検索フォームの設置は完了です。
表示されていることを確認。
ショートコードを貼り付けたところに、検索フォームが表示されているか確認しましょう。
これまでの手順に誤りがなければ、検索フォームが表示されているはずですが、誤りがないにも関わらず、検索フォームが表示されない場合がありますが、
プラグインやテーマとの相性が原因である可能性があるので、色々と見直してみましょう。
[…] DUB DESiGNプラグインなしで記事ページや固定ページに検索フォームを表示す… […]