Как исключить текущую запись из шорткода?

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

У меня есть шорткод для вывода записей:
add_shortcode( 'cat-articles', 'cat_articles_listing_parameters_shortcode' );
function cat_articles_listing_parameters_shortcode( $atts ) {
    ob_start();
    $args = shortcode_atts( array (
        'type' => 'post',
        'order' => 'date',
        'orderby' => 'title',
        'posts' => -1,
        'color' => '',
        'category' => '',
        'public'   => true,
    ), $atts );
    $options = array(
        'post_type' => $args['type'],
        'order' => $args['order'],
        'orderby' => $args['orderby'],
        'posts_per_page' => $args['posts'],
        'color' => $args['color'],
        'category_name' => $args['category'],
        '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/articles', get_post_format() );
                 ?>
            <?php endwhile;
            wp_reset_postdata(); ?>
    <?php $myvariable = ob_get_clean();
    return $myvariable;
    }
}


<?php echo do_shortcode('[cat-articles category="blog" posts="3" orderby="date" order="DESC"]'); ?>


Использую в шаблоне single.php (выводит последние три записи) - можно ли как-то исключить из него ту запись, на которой я сейчас нахожусь?

Например, у меня последние 3 статьи -
- Статья #1
- Статья #2
- Статья #3

И если я читаю статью " - Статья #1" - то шорткод отображает
- Статья #2
- Статья #3
- Статья #4

Можно ли так сделать, и если да, то как?
  • Вопрос задан
  • 64 просмотра
Решения вопроса 1
bingumd
@bingumd
...
'post__not_in' => array( get_the_ID() ),
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Kozack
@Kozack Куратор тега WordPress
Thinking about a11y
Ваш ответ на вопрос

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

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