Custom Field GUI Utility の使い方などの FAQ

当ブログで公開している WordPress のプラグイン、Custom Field GUI Utility について、訪問者さんからご質問をいただいたのでブログ記事にしてお答えします。

イメージフィールドは画像の URL を出力するのみですか?

【2009-05-20 追記】

バージョン 1.1.0 からイメージタグを挿入できるようになりました。

イメージフィールドが出力するのは基本的に画像の URL のみになります。

イメージフィールドは、もととしている Custom Field GUI には無い機能で、カスタムフィールドに画像の URL を入力するシーンが多いことを想定して追加した機能で、値を img 要素の src 属性に出力して使うのが基本となります。

したがって、img 要素で必須になる alt 属性については、通常のテキストフィールドを代用する必要があります。

例えば、イメージフィールドの「キー」が「 imagefield_common 」だったとすると、テンプレートで画像を出力するソースは次のようになります。

<img src="<?php echo post_custom('imagefield_common'); ?>" alt="" />

alt 属性に値を入れたいときは、イメージフィールドの前後に普通のテキストフィールドを使用して、その値を alt 属性に出力します。テキストフィールドの「キー」が「 textfield_common 」だったとすると、画像を出力するソースは次のようになります。

<img src="<?php echo post_custom('imagefield_common'); ?>" alt="<?php echo post_custom('textfield_common'); ?>" />

カスタムフィールドの値が空の場合に、余計な空タグを残さない方法はありますか?

例えば、デフォルトの普通のテキストフィールド「 1 行テキスト(共通表示)」の項目を、次のように strong 要素で強調表示させているとします。

<strong><?php echo post_custom('textfield_common'); ?></strong>

このようにした場合、投稿によって「 textfield_common 」の値が空の場合、strong タグだけが残ってしまうことになります。

この場合、以下のように全体を if タグで囲めば、そのフィールドの値が空の場合は何も表示されなくなります。

<?php if(post_custom('textfield_common')):?>
    <strong><?php echo post_custom('textfield_common'); ?></strong>
<?php endif;?>
  • このエントリーをはてなブックマークに追加
Just a second...