• 投稿に対して、カスタムフィールドを以下のような感じに設定しているのですが、
     キー:AAA → 値:http://www.aaa.com
     キー:BBB → 値:http://www.bbb.com
     キー:CCC → 値:http://www.ccc.com
    (以下同様に、いくつか続きます)

    これらを投稿の記事の後に下記のように表示したいと考えています。
     参照元 http://www.aaa.com
     リンク先 http://www.bbb.com
     ダウンロード先 http://www.ccc.com
    ただし、それぞれの投稿に対してすべての値があるとは限らず(全てない場合もあります)、値がない場合は飛ばして次を表示させたいのです。
    調べていろいろ試して入るのですが、どうにもうまくいきません。
    どのようにコードを記述したらよろしいのでしょうか?

    よろしくお願いします。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック投稿者 kingtoshfeuinc

    (@kingtoshfeuinc)

    下記のように書いてみたら
    <?php
    $link_site = get_post_custom(); ?>
    <?php
    if (isset($link_site['AAA'])):
    echo $artist_site['AAA'][0]; ?>
    <?php
    elseif (isset($link_site['BBB'])):
    echo $artist_site['BBB'][0]; ?>
    <?php
    elseif (isset($link_site['CCC'])):
    echo $artist_site['CCC'][0]; ?>
    <?php endif; ?>

    はじめの「http://www.aaa.com」だけは表示されたのですが、それ以降は表示されませんでした。
    どうにもやり方がわかりません。

    よろしくお願いします。

    提示されたコードからすれば正しい動作ですよ。
    elseif の使い方が間違ってるんじゃないでしょうか?
    参照: http://nyx.pu1.net/reference/control/elseif.html

    未検証ですが

    <?php
    $link_site = get_post_custom();
    if (isset($link_site['AAA'])) echo $artist_site['AAA'][0];
    if (isset($link_site['BBB'])) echo $artist_site['BBB'][0];
    if (isset($link_site['CCC'])) echo $artist_site['CCC'][0];
    ?>

    でどうですかね?

    トピック投稿者 kingtoshfeuinc

    (@kingtoshfeuinc)

    ありがとうございます。
    例示していただいたコードを書いてみたところ、
    一つ目の組み合わせ(if (isset($link_site[‘AAA’])) echo $artist_site[‘AAA’][0];)
    だけならば動くのですが、二つ目以降(if (isset($link_site[‘BBB’])) echo $artist_site[‘BBB’][0];から下)を書き込むと、画面が真っ白になって何も表示されなくなりました。

    すいません。
    提示されたコードの条件分岐のところだけ直して変数名まで確認してませんでした。
    $artist_siteではなく$link_siteですね。

    キー:AAA → 値:http://www.aaa.com
    キー:BBB → 値:http://www.bbb.com
    キー:CCC → 値:http://www.ccc.com

    であれば

    <?php
    $link_site = get_post_custom();
    if (isset($link_site['AAA'])) echo $link_site['AAA'][0];
    if (isset($link_site['BBB'])) echo $link_site['BBB'][0];
    if (isset($link_site['CCC'])) echo $link_site['CCC'][0];
    ?>

    ですね。(今回は確認しました)

    (となると何で一つ目の組み合わせでエラーが起きなかったのか謎ですが・・・。)

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「カスタムフィールドの値の表示の仕方について」には新たに返信することはできません。