この記事では、Wordpressのウィジェットエリアを決められた場所だけではなく、自分の好きな場所に自作する方法を解説します。
WordPressの非常に便利な機能「ウィジェット」は、「カテゴリー」や「最新記事」など様々なコンテンツを簡単に設置できます。文章やコードなどを記述して、独自のコンテンツを配置することもできます。
ところが、配置できる場所がテーマによって決まっていて、好きな場所に自由に配置することができません。
この記事ではそんな悩みを解決するべく、新規でウィジェットエリアを作成し、好きな場所に配置する方法を解説します。
もくじ
自作ウィジェットエリアの作り方
WordPressに用意されているウィジェット操作画面に、もともとあるウィジェットエリアと同じように操作することができる自作のウィジェットエリアを作成します。
自作のウィジェットエリアの作成は、「テーマのための関数(functions.php)」にコードを記述することで作ることができます。
ここではHeaderメニュー下に情報テロップを表示するエリアをつくる例を紹介します。
/** ウィジェットエリアの追加 **/
// header下情報テロップ
register_sidebar(array(
'name'=>'header下情報テロップ',
'id' => 'header_info',
'before_widget' => '<div class="header-info">',
'after_widget' => '</div>',
'before_title' => '<h3>',
'after_title' => '</h3>'
));
/** ウィジェットエリアの追加ここまで **/
ウィジェットエリアを確保するコード「register_sidebar(array( ここに内容 ));
」の中に必要な情報を記入していきます。
’name’ の欄には、このウィジェットの名前を入力します。ここで入力した名前がWordpress のウィジェット設定画面に表示されます。
’id’ の欄には、このウィジェットを呼び出すための名前を入力します。ウィジェットを配置したい場所に記述するコードから、この’id’を指定して呼び出します。
’before_widget’ の欄には、このウィジェットに入れる内容の直前に自動挿入したいhtmlタグを入力します。ここでclass指定をしておくと、cssなどでデザインするときに個別指定できるようになります。
’after_widget’ の欄には、’before_widget’ で入力したhtmlタグの綴じタグを入れます。
’before_title’ の欄には、ウィジェットタイトルの前に自動挿入されるhtmlタグを入力します。
タイトル欄を使わなければ何も表示はされませんが、一応ほかのウィジェットと同じタグを入れておくと良いでしょう。
’after_title’ の欄には、’before_title’ で入力したhtmlタグの綴じタグを入れます。
以上で、自作のウィジェットエリアが作成できました。この段階でウィジェット設定画面には、自作ウィジェットエリアが表示されているはずです。
好きな場所に配置する方法
作成した自作のウィジェットエリアを任意の場所に配置します。
配置するためのコードは、以下の通り。
<?php dynamic_sidebar('ここにfunctions.phpに入力した’id’を記述'); ?>
先ほど作成したfunctions.phpのコードを呼び出すには、
と記入します。
<?php dynamic_sidebar('header_info'); ?>
このコードを配置したい場所に記述します。今回の例では、ヘッダーの下、PC版デザインのグローバルメニュー下に配置します。
私が使っているWordpressテーマ「Simplicity2」では、「Header.php」のグローバルメニューコードの下に記述します。
コメントアウトで内容を書いておくと、後で見たときにわかりやすくなりますね。
子テーマにファイルをコピーして編集しましょう。
ウィジェットエリアの作成は簡単にできますが、配置場所を探すにはWordpressやコードの知識などが少し必要です。
コメント
[…] 参照ページ:https://weblog10.com/org_widget […]