前提
WordPressのオリジナルテーマを作っています。WPのバージョンは5.8.1です。
WordPressの検索窓は、ウェジットで追加するか、get_search_form()で表示できますよね。これで呼び出されるテンプレートはもともと決まっていますが、テーマにsearchform.phpを用意すればその中身が優先されるということで、オリジナルの構造にしたかったのでsearchform.phpを用意しました。
下記はsearchform.phpの中身です。(FontAwesomeを使っています。)
<form class="searchform search-whole" role="search" method="get" action="<?php echo esc_url( home_url( '/' ) ); ?>"> <input class="search-field" type="search" placeholder="記事を探す" value="<?php the_search_query(); ?>" name="s"> <button class="search-icon-outer" type="submit"> <i class="search-icon fas fa-search"></i> </button> </form>
問題
get_search_form()で直接呼び出した場合、searchform.phpの中身が問題なく出力されるのですが、ウェジットで検索フォームを追加した場合searchform.phpが無視されデフォルトのテンプレートが呼び出されてしまいます。
↓get_search_form()で直接呼び出す際のコード
<?php get_search_form() ?>
↓ウェジットを挿入する際のコード(functions.phpで「widget-normal」というウェジットグループを追加しています。)
<?php dynamic_sidebar( 'widget-normal' ); ?>
ご助力いただきたい点
ウェジットで呼び出した場合もsearchform.phpの中身が出力されるようにしたいです。手順が抜けているようであればその手順、手順は合っていると思われる場合は何か原因と考えられるものがあれば教えていただきたいです。
よろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/10/26 02:28