Как добавить условие в шорткод WP?

Здравствуйте!

Подскажите пожалуйста, как добавить условие в шорткод: (Если слайдов два или меньше - то добавлять зашлушку)

Сам шорткод - берет 10 последних записей и сортирует их по кастомному полю (ACF)

add_shortcode( 'home-slides', 'lvl_home_post_slides' );
function lvl_home_post_slides( $atts ) {
    ob_start();
    $args = shortcode_atts( array (
        'type' => 'post',
        'posts' => -1,
        'post_status' => 'publish',
        'public'   => true,
    ), $atts );
    $options = array(
        'post_type' => $args['type'],
        'posts_per_page' => $args['posts'],
        'post_status' => 'publish',
        'meta_query' => array(
            'relation' => 'AND',
            'feature_clause' => array(
                'key' => 'event_date_news',
                'compare' => 'EXISTS',
            ),
        ),

        'orderby' => array(
            'event_date_news' => 'ASC',
            'date' => 'DESC',
        )
    );
    $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;
    }
}


Шаблон - slides.php - в шаблоне я еще сортирую по дате (вывожу только те, ката которых еще не прошла - ACF)
<?php
$eventDate = get_field( 'event_date_news' );
$currentDate = date('Y m d');

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( 'full' ); ?></a>
</div>

<?php } ?>


Суть вопроса - мне нужно, чтоб если слайдов меньше трех - то добавляется картинка-заглушка..всегда должно быть минимум три слайда, если слайд один - то +2 заглушки..можно ли так сделать?
  • Вопрос задан
  • 73 просмотра
Пригласить эксперта
Ответы на вопрос 2
OtshelnikFm
@OtshelnikFm Куратор тега WordPress
Обо мне расскажет yawncato.com
$query
через count посчитай и выводи если попадает под твоё условие
Ответ написан
Комментировать
wppanda5
@wppanda5 Куратор тега WordPress
WordPress Mедведь
$query = new WP_Query( $options );
	$count = $query->found_posts;
	if ( $count <= 2 ) {
		# выыод загрушки
	}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы