サポート » 使い方全般 » 特定のカスタムフィールドの値を、特定のページに出力

  • 解決済 kico

    (@kico)


    はじめまして。
    過去ログにも目を通したのですが、似たような投稿を見つけることができませんでしたので、
    質問させていただきます。

    wordpress3.0.1で物件情報サイトを作成しています。
    カスタムフィールドにはcustom-field-gui-utilityプラグインを利用しています。

    業者一覧カテゴリでは
    A社、B社、C社…などの業者一覧があり、それぞれをクリックすると各業者の詳細(所在地、電話番号、説明文など、カスタムフィールドを使用して出力)が表示される仕組みになっています。

    一方、物件一覧カテゴリでは、
    A町、B町、C町…などの物件一覧があり、それぞれをクリックすると物件の詳細(所在地、間取り、築年月などカスタムフィールドを使用して出力)が表示される仕組みです。(物件詳細ページはsingle-bukken.phpに出力)

    A町物件の詳細ページ下部に、「お問い合わせはこちらまで:A社、所在地、電話番号」という感じで、その物件を取り扱っている業者のカスタムフィールドの値も一緒に出力させたいのですが、関連付ける方法がわかりません。

    たとえばA社の投稿IDが「1」だとすると、single-bukken.phpに

    <dl>
    <?php $mycustomfields = get_post_custom(1);
    foreach($mycustomfields as $mykey => $myvalue){
    echo "<dt>";
    echo $mykey;
    echo "</dt><dd>";
    echo $myvalue[0];
    echo "</dd>";
    }
    ?>
    </dl>

    上記のような感じで付け足せばA社の詳細部分は出力できますが、それだとB町、C町の物件もお問い合わせ先がA社になってしまいます。
    かと言って出力させるページ自体をsingle-bukken02.php、single-bukken03.php…と増やしていくのも現実的ではないような。
    何か他にいい方法があるでしょうか?
    お手数ですがよろしくお願いいたします。

6件の返信を表示中 - 1 - 6件目 (全6件中)
  • 物件記事のカスタムフィールドで業者を指定するようにすれば OK◎

    トピック投稿者 kico

    (@kico)

    Kzさん初めまして。返信いただきましてありがとうございます。

    物件記事のカスタムフィールドで業者を指定するようにすれば OK◎

    というのは、物件記事の管理画面に、物件カスタムフィールド(所在地、間取り等々)と業者カスタムフィールド(所在地、電話番号等々)の2種類を作るということでしょうか?
    上記の方法だと、1つの記事に物件情報と業者情報を出力することができますが、「業者カテゴリーにある業者のカスタムフィールドの値を、物件記事に出力させる」ことではなくなります…

    1.物件記事のカスタムフィールドに「業者の記事ID」を追加します。
     (ドロップダウンで現在WordPressに登録している業者から選ぶようにすると◎)
    2.業者の記事IDさえ分かれば、いつでもどこでも
     get_post_meta( 業者の記事ID, メタキー, true )
     で、業者のカスタムフィールドの値を好きなだけ取得できます。

    トピック投稿者 kico

    (@kico)

    物件記事のカスタムフィールドに、「業者の記事ID(keyはgyoushaID)」を追加して、
    物件記事のテンプレートに

    <?php echo get_post_meta(
    get_post_meta($post->ID,gyoushaID,TRUE),name,TRUE); ?>
    
    <?php echo get_post_meta(
    get_post_meta($post->ID,gyoushaID,TRUE),address,TRUE); ?>
    
    <?php echo get_post_meta(
    get_post_meta($post->ID,gyoushaID,TRUE),tel,TRUE); ?>

    上記を追加しました。
    これで出力できましたが、このような記述で合っているでしょうか?
    もっとすっきりさせたいと思い試行錯誤を繰り返しているのですが、良い方法が思いつきません…

    データベースから一気に取ってくる事もできますけど、

    <?php
    $gyousha_id = get_post_meta( $post->ID, 'gyoushaID', true);
    echo get_post_meta( $gyousha_id, 'name', true);
    echo get_post_meta( $gyousha_id, 'address', true);
    echo get_post_meta( $gyousha_id, 'tel', true );
    ?>

    辺りが素直で良いと思います◎

    トピック投稿者 kico

    (@kico)

    試してみたところ、ばっちりでした!
    コードもすっきりとして見やすいです。
    この1週間というもの、ずっと悩んでいたもやもやが晴れました。
    このたびはありがとうございました。

6件の返信を表示中 - 1 - 6件目 (全6件中)
  • トピック「特定のカスタムフィールドの値を、特定のページに出力」には新たに返信することはできません。