1. Есть шорткод для вывода 10 последних опубликованных записей:
add_shortcode( 'home-slides', 'lvl_home_post_slides' );
function lvl_home_post_slides( $atts ) {
ob_start();
$args = shortcode_atts( array (
'type' => 'post',
'orderby' => 'date',
'posts' => 10,
'public' => true,
), $atts );
$options = array(
'post_type' => $args['type'],
'posts_per_page' => $args['posts'],
'post_status' => 'publish'
);
$query = new WP_Query( $options );
if ( $query->have_posts() ) { ?>
<?php while ( $query->have_posts() ) : $query->the_post(); ?>
<?php
get_template_part( 'template-parts/slides', get_post_format() );
?>
<?php endwhile;
wp_reset_postdata(); ?>
<?php $myvariable = ob_get_clean();
return $myvariable;
}
}
Тут все нормально, далее мне нужно эти 10 записей отсортировать по дате мероприятия (она задана в каждой записи через ACF - "
event_date").
Шаблон шорткода:
<?php
$eventDate = get_field( 'event_date' );
$currentDate = date('d.m.Y');
if($currentDate <= $eventDate && get_field( 'add_home_slide' ) == 1) { ?>
<div id="lastpost-<?php the_ID(); ?>" class="lastpost">
<a href="<?php the_permalink() ?>" title="<?php the_title(); ?>"><?php the_post_thumbnail(); ?></a>
</div>
<?php } ?>
Шаблон скрывает те записи, дата которых уже в прошлом. Но вот последний момент - как отсортировать вывод этих 10 записей по дате ивента?
P.S у ACF есть
сортировка по кастомному полю, но в моем же случае - нужно две сортировки - первая берет 10 последних опубликованных записей, а вторая сортирует уже среди этих 10 - так можно?