自作テーマにウィジェット機能を追加する方法【WordPress】
大体の人は、wordpressを使用するとき、
テーマは完成しているものを使うと思うので、
意識しないと思いますが・・
wordpressテーマを自作するとき、
インストール後の初期状態だと
ウィジェット機能は
実装されていません。
それもそのはず、サイトによっては
全く使わないこともあるので、
最初はオフにされているのだと思います。
今回はそのウィジェットを
有効化させるためのコードを記載します。
ウィジェットを有効化させる
ウィジェット欄を出すだけなら、
これだけでいいです。
function test_widgets_init() {
register_sidebar( array(
'name' => 'トップページタイトル下',
'id' => 'top-under-title',
) );
}
add_action('widgets_init', 'test_widgets_init');
関数名は適当にどうぞ。
ウィジェットを差し込みたい場所の数だけ
register_sidebarを呼び出して、
nameとidを指定します。
register_sidebarと言う関数名ですが、
実装先はサイドバーじゃなくても大丈夫です。
実行結果はこんな感じ。
nameが場所の名前になります。
その後、トップページのコードへ。
<?php if(is_active_sidebar('top-under-title') && is_home() && !is_paged()): ?>
<?php dynamic_sidebar('top-under-title'); ?>
<?php endif ?>
好きな場所
(今回の場合は、流石にトップページのタイトル下にしました)
に上記コードを実装すると、
その場所にウィジェットを差し込むことができます。
is_active_sidebarで
ウィジェットに何か設定されていたら
trueが返ります。
is_home() && !is_paged()は
トップページに設定しているページかつ、
固定ページじゃなければという条件式です。
つまりトップページに表示させたいだけ。
そしてdynamic_sidebarで
先程設定したidのウィジェットを表示させます。
まとめ
今回はウィジェットを有効化させました。
使いこなせば、サイト内の自由な場所を
ウィジェットのUIで変更できるようになるので
ぜひ頑張ってみてほしいです。