WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru

Как сортировать посты в шорткоде WP?

Помогите пожалуйста решить проблему..все никак не получается(

  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 - так можно?

0
delux
25 ноября 2019

Нет ответов на этот вопрос.

    На вопросы могут отвечать только зарегистрированные пользователи. Вход . Регистрация