カスタムフィールドテンプレートを使う。カスタムフィールドの値がない時に表の列を非表示にする
やたら、タイトルが長くなってしまいました。作業用のメモ。 カスタムフィールドテンプレートを使って、表をつくる際に全ての投稿記事でカスタムフィールドが入力されていれば良いですが、値(key値)が空欄になる時があります。
表で作っていると、空欄でも表が作成されてしまうので、少しかっこ悪くなってしまいます。 そんな時には、簡単に、カスタムフィールドの値がない時に表の列を非表示にする方法があります。
表の作成
例えば、下記のような表を作ったとします。 カスタムフィールドは、それぞれ
店舗名 key=12345店 住所 key=東京都新宿区新宿 電話番号 key=00-0000-0000 定休日 key=空欄 お知らせ key=空欄 を入力します。
定休日、お知らせが そのまま、カスタムフィールドテンプレートで表示すると、以下のようになります。
これを、定休日、お知らせが空欄だった場合には非表示とするようにつくります。 やり方は、tableタグで囲ってあるカスタムフィールドにPHPコードを追加してやるだけです。 [html]<?php if(get_post_meta( $post->ID, '空欄時に非表示にするカスタムフィールド', true )): ?> 表示する項目 <?php endif; ?> [/html]
例の場合だと、下記のようなコードをつくります。 CSSは、ご自身で作成下さい。
[html]/ 値がない場合に表を非表示にする / <?php if(get_post_meta( $post->ID, '定休日', true )): ?> <tr> <td class="data1"> 定休日 </td> [定休日]<br> </td> </tr> <?php endif; ?>
<?php if(get_post_meta( $post->ID, 'お知らせ', true )): ?> <tr> <td class="data1"> お知らせ </td> [お知らせ]<br> </td> </tr> <?php endif; ?> / ここまで /[/html]