WordPressテーマ作成で任意の場所にウィジェットを追加する方法

WordPress

今回がWordPressでオリジナルテーマを作成する際に必要となってくるであろうウィジェットの作成方法について解説します。

ウィジェットとはテーマに組み込まれているGUI(Graphical User Interface)で操作可能なコンテンツ配置部分の事です。

WordPressをインストールした初期の状態では「カスタムHTML」や「画像」「カテゴリー」などのウィジェットに入る要素部分は用意されていますが、重要な配置場所が用意されていません。その部分は自身でphpファイルを編集して追加しなくてはいけません。

今回はその方法を紹介します。

ウィジェットの有効化設定

ウィジェットの有効化するにはfunction.phpに以下のように記述します。
この設定によって先程の管理画面にGUIが追加されます。

// ウィジェットの有効化・設定
function theme_slug_widgets_init()
{
// サイドバー汎用
    register_sidebar(array(
'name' => 'サイドナビ',
'id' => 'sidenavi',
'before_widget' => '<div class="side_widget">',
'after_widget' => '</div>',
'before_title' => '<h2 class="side_widget_title">',
'after_title' => '</h2>',
));

// スクロール追従
    register_sidebar(array(
'name' => 'サイドバースクロール追従',
'id' => 'stickyzone',
'before_widget' => '<div class="side_widget sticky">',
'after_widget' => '</div>',
'before_title' => '<h2 class="side_widget_title">',
'after_title' => '</h2>',
));

// バナー
    register_sidebar(array(
'name' => 'バナーエリア',
'id' => 'bannerzone',
'before_widget' => '<div class="top_widget img_banners">',
'after_widget' => '</div>',
'before_title' => '<h2 class="top_widget_title">',
'after_title' => '</h2>',
));

}
add_action('widgets_init', 'theme_slug_widgets_init');

「register_sidebar」関数はウィジェットを作成するための関数です。ウィジェットは通常サイドバーに使用するものという想定なのでこのような名前になっています。

上記で作成したウィジェットを実際のWEBサイトで表示するには、表示したいページのファイル内に以下の記述をして下さい。

<! – サイドバー汎用ウィジェット -->
<?php dynamic_sidebar('sidenavi'); ?>

<! – スクロール追従ウィジェット -->
<?php dynamic_sidebar('stickyzone'); ?>

<! – バナーウィジェット -->
<?php dynamic_sidebar('bannerzone'); ?>

「dynamic_sidebar」関数の(")の中に先程 function.phpで作成した際のid名を入れれば指定したウィジェットが表示されます。その上で、先程の管理画面から任意の要素を持ってきてコンテンツを作成して下さい。するとウィジェットコンテンツが表示されます。

以上が「WordPressテーマ作成で任意の場所にウィジェットを追加する方法」でした。

三浦圭人

最後まで閲覧頂きありがとうございます。
Twitterでは更に細かくWEBリテラシーのネタを発信しています。是非フォローお願い致します。感想/ご意見頂けたら喜びます✨

2021年5月7日WordPressphp,Thema,WP

Posted by KT