1

ACF プラグインに詳しい方へ...

現在、投稿順に表示されているイベント投稿がいくつかあります (以下のコードを参照)。日付ピッカーで指定した順番で表示してほしいです。

次の修正点を教えてください。サイトのドキュメントを試しましたが、私の PHP は基本的なものです。

追加する必要があると言われています

'orderby' => 'meta_value_num',

しかし、喜びはありません。

<?php function le_whatson_aside() {

//THis loop is for the CPT
$args = array(
    'post_type' => 'events', // enter your custom post type
    'orderby' => 'menu_order',
    'order' => 'ASC',
    'posts_per_page'=> '10',  // overrides posts per page in theme settings
        'tax_query' => array(
        array(
            'taxonomy' => 'audience', //name of custom taxonomy
            'field' => 'slug',
            'terms' => 'everyone' //name of category
        )
    )

    );

$loop = new WP_Query( $args );
if( $loop->have_posts() ):
    ?>

    <div>
        <h2>What's On</h2>
    </div>
    <div class="whatson entry-content"> 
        <?php   
        while( $loop->have_posts() ): $loop->the_post(); global $post;
            ?>
            <p class="whatson-date"><?php echo date("dS F Y",strtotime(get_field('date')));?></p>
            <a  href="<?php echo get_permalink() ?>"><h4 class="whatson-title"><?php echo get_the_title(); ?></h4></a>

            <?php
        endwhile;
        ?>
    </div>

<?php
endif; }

皆さんありがとう。

4

3 に答える 3

0

このようにアプローチします。「名前付き」メタ クエリを作成し、そのクエリで並べ替えます。メタ クエリは「EXITS」を使用して、日付が設定されていない投稿を除外します。これは、日付がデフォルト形式を使用してデータベースに保存されている場合に、ACF 日付ピッカーで機能しますd/m/Y。このアプローチは、日時ピッカーでも機能します。

$query = new WP_Query([
    "meta_query" => [
        "custom_date" => [
            "key"     => "date",
            "compare" => "EXISTS",
            "type"    => "DATETIME",
        ]
    ],
    "orderby" => [
        "custom_date" => "ASC",
    ],
]);

keyACF フィールド名が何であれ、値を必ず更新してください。

于 2020-11-06T14:33:46.613 に答える