WordPressにおける連想配列の使いどころについて勉強しました。

連想配列とは(PHP)

まずは、簡単な例題を見てみます。

コードの例
<?php $my_array = array( 'name' => 'my_name' , 'id' => 'number' ); ?>
<?php echo $my_array['name']; ?>
実行結果
my_name

連想配列は、矢印(=>)の左側をキーとして、矢印の右側の要素を出力します。

 

WordPressのテンプレートで良く出てくる使い方

WordPressでは、テンプレートをカスタマイズするために、この連想配列を頻繁に利用します。 例えば、ここではサイドバーの設置を例にして実験してみます。サイドバーを設置するために、functions.phpとindex.phpを作成します。

functions.php

register_sidebar()は、サイドバーを有効化するためのWordPress関数です。この関数にサイドバーの出力方法について記述した連想配列を引数で渡すことができます。その連想配列に従って、サイドバーを出力するときにWordPressから吐き出されるソースコードを変わります。

  1. ‘name’:Sidebarの名前。Widget設定画面で表示される。
  2. ‘before_widget’:各Widgetの前に挿入される文字列を指定できる。
  3. ‘after_widget’:各Widgetの後に挿入される文字列を指定できる。
  4. ‘before_title’:各Widgetのタイトルの前に挿入される文字列を指定できる。
  5. ‘after_title’:各Widgetのタイトルの後に挿入される文字列を指定できる。

ここでは、 サイドバー名を’Sidebar’、 Widgetの前後を<li>〜</li>、Widgetタイトルの前後を<h2>〜</h2>で囲むように設定したいので、上記のような配列を指定します。

index.php

dynamic_sidebar()は、サイドバーを設置する関数です。ここでは、WordPressの挙動を見るために、シンプルなコードにしています。

Widgetの追加

ここまで編集したら、テーマを更新して、Widgetを追加します。ここでは、シンプルなWidgetである「テキスト」を2つ追加します。Widgetの画面を見ると、function.phpで指定した通り、サイドバーの名前が”Sidebar”となっています。

text_widget_screenshot

実行結果

以上の編集をしてサイトを実行すると、サイドバー部分のソースコードは以下のような結果になります。

先のfunction.phpで指定した通り、各Widgetを<li>〜</li>で囲み、各Widgetタイトルを<h2>〜</h2>で囲むように出力できました。

ここでは、シンプルなタグで囲みましたが、class名を指定したい場合は、例えば ‘before_title’ => ‘<h2 class=”widget-title”> のように指定することもできます。これらの設定に合わせて、cssファイルでスタイル指定することにより、サイドバーの表示を具体的に変えることができます。

以上、サイドバー出力をWordPressでの連想配列を使う一例として紹介しました。WordPressの他の関数においても、ここで紹介した例と同じように連想配列を引数として渡すパターンが多いです。このとき「キー」の数や名前は関数毎に決まっており、

関数の設定項目名/Options(キー)=> 関数の設定値/Values(要素)

の形で指定します。なお各関数にどのような設定項目があるかは、WordPressの公式リファレンスで確認することができます。

まとめ

WordPressをカスタマイズするときに使う連想配列は、「キー」が設定項目名であり、「要素」がカスタム値です。これら連想配列をWordPress関数に渡すことによって、関数の挙動を制御することができます。

 

「WordPress Tips」の記事