CMSブログソフトWordPressの基本操作と使い方
WordPress3.0.4 ADPHIC Co,.Ltd. SINCE.2008.10.15

HOMEIllustratorのツボadphicContact-Mail

CONTENTS
記事の取得と表示用タグ
AD LINK
Fotolia
500万点以上のロイヤリティフリー画像が、なんと100円から使えるイメージバンク。印刷レベルの写真でも500円。ちょっと素材が必要なときに便利です。
TIPS
CATEGORY : 記事の取得と表示用タグ | UPDATE : 2011.01.04

Get Custom Field Valuesで
カスタムフィールドを強化する

プラグインGet Custom Field Valuesのを導入で、カスタムフィールドの機能が飛躍的にアップします。情報サイトやショッピンサイトなど、フォーマットに沿って情報を入力・表示するサイトの構築にはおすすめです。
※このテンプレートタグは Get Custom Field Values のプラグイン導入が必要になります。

TEMPLATE-TAG<テンプレートタグ>
Get Custom Field Valuesのテンプレートタグ
ループ内で使用

<?php echo c2c_get_custom('A','B','C','D','E','F'); ?>

PARAMETER<パラメータ>
  1. field : カスタムフィールドの「名前」。
  2. before : 表示する「値」の前に挿入するタグまたはテキスト。
  3. after : 表示する「値」の後に挿入するタグまたはテキスト。
  4. none : 「値」が入力されていなかった場合に表示するテキスト。指定が無い場合は何も表示されません。
  5. between : 同じ「名前」が複数使われていた場合「値」と「値」の間に挿入するタグまたはテキスト。指定を省略すると「値」はひとつだけ取得されます。
  6. before_last : 同じ「名前」が複数使われていた場合、最後の「値」とその前の「値」の間に挿入するタグまたはテキスト。Eのbetweenを省略した場合は機能しません。

カスタムフィールドの「名前」と「値」に、下のように入力されている場合のテンプレート記述例と表示結果は、以下のようになります。

CUSTOM-FIELD<カスタムフィールド入力例>
カスタムフィールド

名前
開催日
0月0日(日)
場所
いわき市○○○町12-3
料金
大人¥2,000円
料金
子供¥1,000円
主催
ADPHIC.Co,.Ltd
TEMPLATE-TAG EXAMPLE<記述例>
<?php if(have_posts()) : while (have_posts()) : the_post(); ?>
<?php echo c2c_get_custom('開催日','開催日時:<strong>','</strong>/','','・',''); ?>
<?php echo c2c_get_custom('場所','開催場所:','/','','・'.''); ?>
<?php echo c2c_get_custom('料金','一般料金:<strong>','</strong>/','','・'.''); ?>
<?php echo c2c_get_custom('主催','主催者:','','','・'.''); ?>
<?php endwhile; endif; ?>
EXAMPLE RESULT<記述例の結果>
開催日時:0月0日(日)/開催場所:いわき市○○○町12-3/一般料金:大人¥2,000円・子供¥1,000円/主催者:ADPHIC.Co,.Ltd

カスタムフィールドの「名前」は表示されません。<strong>・・・</strong>で文字の一部を太くし、同じ「名前」が複数使われている場合は中黒(・)で区切り、項目ごと全角スラッシュ(/)で区切っています。

Get Custom Field Valuesは、タグをテンプレート内に格納できるので、カスタムフィールドが全く使用されなかった場合や、使われなかった項目は全く画面に表示されることはありません。

このままでは、カスタムフィールドを使う意味が無いのでstyle.cssでデザインを少し整えてみました。

TEMPLATE-TAG EXAMPLE<記述例>
<?php echo c2c_get_custom('開催日','<div class="event"><div class="event-left">開催日時</div><div class="event-right"><strong>','</strong></div></div>','','<br>',''); ?>
<?php echo c2c_get_custom('場所','<div class="event"><div class="event-left">開催場所</div><div class="event-right">','</div></div>','','<br>',''); ?>
<?php echo c2c_get_custom('料金','<div class="event"><div class="event-left">料  金</div><div class="event-right"><strong>','</strong></div></div>','','<br>',''); ?>
<?php echo c2c_get_custom('主催','<div class="event"><div class="event-left">主  催</div><div class="event-right">','</div></div>','','<br>',''); ?>
STYLE.CSS<スタイルシート記述例>
.event {
width: auto;
font-size: 13px;
line-height: 1.5;
border-color: #FFFFFF;
border-width: 1px 1px 0 1px;
border-style: solid;
background: #e6e6e6 url(images/event-back.gif) repeat-y left top;
overflow: hidden; /* フロート解除 */
zoom: 1; /* IE フロート解除 */
}

.event-left {
float: left;
width: 110px;
padding: 5px 0 3px 10px;
}

.event-right {
float: left;
padding: 5px 0 3px 10px;
}

テーブルタグを使うとか、文字のサイズとかCSSにもう少し工夫を加えれば、実用レベルになるでしょうか。下が上の記述例とCSSファイルの表示結果になります。実際のタグを使って表示させていますので、テンプレートタグはそのままコピーで使えるはずです。

EXAMPLE RESULT<記述例の結果>
開催日時
0月0日(日)
開催場所
いわき市○○○町12-3
料  金
大人¥2,000円
子供¥1,000円
主  催
ADPHIC.Co,.Ltd

カスタムフィールドとGet Custom Field Valuesを使えば、登録した「名前」を選択し、「値」のフィールドに入力するだけで、フォーマットに沿ったレイアウトで表示され、情報の入力と更新作業が大幅に簡略化できます。また、ファイル名を入力するだけで画像を表示させたり、表示ページに合わせてデザインを変更したり、住所を入力するだけでGoogleMAPにリンクさせることも簡単にできます。

INDEX