サポート » 使い方全般 » あるカスタムフィールドkeyの同じ値をくくってリスト表示したい。

  • 解決済 typm

    (@typm)


    別のトピック(http://ja.forums.wordpress.org/topic/3425)で特定のカスタムフィールドkeyの値をリスト表示のやりかたを”KZ”さんに解決していただいたのですが、それに追加のかたちになります。リスト表示された値が同じである場合、繰り返し表示せず一回のみの表示にして、その値を持つ投稿すべてをリンクしたいのです。ちなみに別トピックで教えて頂いた、CODEは以下です。

    <ul>
    <?php
    query_posts('posts_per_page=-1&meta_key=講演者');
    while(have_Posts()) :
      the_post();
      $speaker = get_post_meta($post->ID, '講演者', true);
      ?>
      <li><a href="<?php the_permalink() ?>"><?php echo $speaker ?></a></li>
      <?php
    endwhile;
    wp_reset_query();
    ?>
    </ul>

    なお、設定は、key:講演者 value:(各投稿の持つ講演者名)としています。
    リスト表示はもちろんちゃんとで来るのですが、このままですと同じ値(同じ講演者名)が繰り返し表示されてしまい、うまくリストがまとまりません。どのようにすれば、同じ講演者をまとめて表示し、その値を持つ投稿すべてを表示するようリンク設定できるのでしょうか?よろしくお願い致します。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • 未検証です。

    <ul>
    <?php
    query_posts('posts_per_page=-1&meta_key=講演者');
    if(have_posts()) :
      $titles = array();
      while(have_Posts()) :
        the_post();
        $speaker = get_post_meta($post->ID, '講演者', true);
        $titles[$speaker]
          .= '<li><a href="' . get_permalink() . '">'
          .  get_the_title() . '</a></li>' . "\n"
      endwhile;
      ksort($titles);
      foreach($titles as $speaker => $title)
        echo '<li><h5>' . $speaker . '</h5>'
          . '<ul>' . $title . '</ul></li>';
    endif;
    wp_reset_query();
    ?>
    </ul>

    トピック投稿者 typm

    (@typm)

    KZさん、何度もありがとうございます。
    しかし、教えて頂きましたCODE試しましたが、なにも表示されなくなってしまいました。
    なにがおかしいのか、私にはわかりませんでした。
    どこを直したらいいのか、お分かりになりましたら、再度よろしくお願い致します。

    動作確認済。

    <ul>
    <?php
    query_posts('posts_per_page=-1&meta_key=講演者');
    if(have_posts()) :
      $titles = array();
      while(have_Posts()) :
        the_post();
        $speaker = get_post_meta($post->ID, '講演者', true);
        $titles[$speaker]
          .= '<li><a href="' . get_permalink() . '">'
          .  get_the_title() . '</a></li>' . "\n";
      endwhile;
      ksort($titles);
      foreach($titles as $speaker => $title)
        echo '<li><h5>' . $speaker . '</h5>'
          . '<ul>' . $title . '</ul></li>';
    endif;
    wp_reset_query();
    ?>
    </ul>

    トピック投稿者 typm

    (@typm)

    早速の返答ありがとうございます!!
    みごとに動きました!
    何度も感謝です。

    私も教えて頂いたCODEをもとに勉強に励みたいと思います。
    また、これからもよろしくおねがい致します。

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