サポート » 使い方全般 » カスタムフィールドで、値を交互に並び替え。

  • 解決済 kes_2010

    (@kes_2010)


    wordpress3.0.1のページで、下記のように表示したいと思っています。
    プラグインはCustom Field Templateを使用しております。

    <dl>
    <dt>画像 1</dt>
    <dd>商品名 1</dd>
    <dd>価格 1</dd>
    <dt>画像 2</dt>
    <dd>商品名 2</dd>
    <dd>価格 2</dd>
    <dt>画像 3</dt>
    <dd>商品名 3</dd>
    <dd>価格 3</dd>
    </dl>

    【value_image】【value_name】【value_price】と3つキーがあり、
    それぞれに値が複数個あります。項目数はページにより増減します。

    【value_image】
    画像 1
    画像 2
    画像 3
    【value_name】
    商品名 1
    商品名 2
    商品名 3
    【value_price】
    価格 1
    価格 2
    価格 3

    試してみたのは下記になります。

    echo '<dl>';
    $values =  get_post_meta($page_id,'value_image',false);
    foreach ($values as $value) {
    	echo ('<dt>'.$value.'</dt>');
    }
    $values =  get_post_meta($page_id,'value_name',false);
    foreach ($values as $value) {
    	echo ('<dd>'.$value.'</dd>');
    }
    $values =  get_post_meta($page_id,'value_price',false);
    foreach ($values as $value) {
    	echo ('<dd>'.$value.'</dd>');
    }
    echo '</dl>';

    しかしならが、これでは下記のようになり、画像、商品名、価格という順番には並びません。

    <dl>
    <dt>画像 1</dt>
    <dt>画像 2</dt>
    <dt>画像 3</dt>
    <dd>商品名 1</dd>
    <dd>商品名 2</dd>
    <dd>商品名 3</dd>
    <dd>価格 1</dd>
    <dd>価格 2</dd>
    <dd>価格 3</dd>
    </dl>

    順序どうりに、表示するための何か良い方法はありますでしょうか?
    お手数ですがよろしくお願いいたします。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • 未検証なので細かい事は良きにはからってください。

    echo '<dl>';
    
    $images =  get_post_meta( $page_id, 'value_image', false );
    $names =  get_post_meta( $page_id, 'value_name' , false );
    $prices =  get_post_meta( $page_id, 'value_price', false );
    
    for( $i=0; $i < count( $images ); $i++ ) {
      echo '<dt>' . $images[$i] . '</dt>';
      echo '<dd>' . $names[$i] . '</dd>';
      echo '<dd>' . $prices[$i] . '</dd>';
    }
    
    echo '</dl>';
    トピック投稿者 kes_2010

    (@kes_2010)

    kz様

    早速の返信、有り難うございます。
    試したところ思い通りの表示になりました!
    プログラムの知識が乏しいので、困惑していました。
    今回は、本当に感謝いたします。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「カスタムフィールドで、値を交互に並び替え。」には新たに返信することはできません。