サポート » プラグイン » Advanced Custom Fields: Repeater Fieldを使ってdate_pickerの値でソートがしたい

  • 解決済 yuki_000

    (@yuki_000)


    PHPは勉強中です。わかりやすく教えていただけると助かります。よろしくお願い致します。

    Advanced Custom Fieldsの設定
    ・タイトル→dropp
    ・フィールド
    フィールドラベル→作品投稿
    フィールド名→dropp_sakuhin01
    フィールドタイプ→Repeater
    Repeater Fieldsの設定
    フィールドラベル→画像
    フィールド名→dropp_img
    フィールドタイプ→image

    フィールドラベル→画像名
    フィールド名→dropp_img_name
    フィールドタイプ→text

    フィールドラベル→URL
    フィールド名→dropp_url
    フィールドタイプ→text

    フィールドラベル→日付
    フィールド名→dropp_date
    フィールドタイプ→date_picker

    上記の項目を作成し、アーカイブページで各投稿記事の作品投稿(フィールドラベル→画像)のみ一覧で全て表示させています。現状だと、記事ごとに画像が順番に並んでいます。

    例)
    Aさんが画像を3個アップし、記事を2015年10月10日に更新。
    Bさんが画像を2個アップ、記事を2015年10月20日に更新。
    すると、現状では、Bさんの画像が2つ並んだあとにAさんの画像が3つ並びます。

    それを、AさんBさんが画像を追加したdate_pickerの日付順にソートしたいです。AさんとBさんの作品が日付順でごちゃごちゃになるようにしたいです。

    下記は、現状のコードです。

    <?php
    $temp = $wp_query;
    $wp_query = null;
    $wp_query = new WP_Query(array( 'meta_key'=>'日付', 'orderby'=>'meta_value' ));
    $wp_query->query('post_type=dropp' . '&paged=' . $paged . '&orderby=modified');
    ?>
    <?php while ( $wp_query->have_posts() ) : $wp_query->the_post(); ?>
    
    <?php if(have_rows('dropp_sakuhin')): ?>
    <?php while(have_rows('dropp_sakuhin')): the_row(); ?>
    <div class="dropp_box clearfix">
    <a href="<?php the_permalink(); ?>" data-imagelightbox="f">
    <img src="<?php the_sub_field('dropp_img'); ?>" width="100%" alt="<?php the_sub_field('dropp_img_name'); ?>"/>
    </a>
    </div>
    <?php endwhile; ?>
    <?php endif; ?>
    
    <?php endwhile; ?>
    <?php $wp_query = null; $wp_query = $temp; ?>

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • WP_Queryは記事を抽出したりソートするためのものなので、チョット難しいかと思います。

    一度全部のデータを配列にして array_multisort するくらいしか手が無いかと。

    設計を見直せるのであれば、画像1件ずつ記事として管理するようにしてみてはどうでしょうか?
    作品の作者等のデータはユーザーとかカテゴリーもしくはカスタムタクソノミーで管理するようにした方が無難かと思います。

    また、有償アドオンについてはこちらのフォーラムではお答えできませんので、提供元に問い合わせください。

    トピック投稿者 yuki_000

    (@yuki_000)

    Toro_Unitさん
    ありがとうございます。
    仰る通り画像1件ずつ記事として管理する方法に切り替えました。

    有償アドオンはここじゃなかったのですね。。。失礼しました。

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • トピック「Advanced Custom Fields: Repeater Fieldを使ってdate_pickerの値でソートがしたい」には新たに返信することはできません。