Добрый день.
Пытаюсь сделать вывод страниц по используемому шаблону на этих страницах по шорткоду. Но что-то никак не соображу как правильно вывести цикл?
вот то что у меня сейчас:
function shortcode_cards( $atts ) {
$atts = shortcode_atts( [
'post_template' => '',
], $atts );
while ( have_posts() ) :
the_post();
$args = [
'post_type' => 'page',
'posts_per_page' => 4,
// 'post__not_in' => [ get_the_ID() ], // Раскомментировать, если надо исключить текущую страницу
'meta_query' => [
[
'key' => '_wp_page_template',
'value' => $atts['post_template'] . '.php'
]
]
];
$my_pages = new WP_Query( $args );
$out = '';
if ( $my_pages->have_posts() ) :
while ( $my_pages->have_posts() ) : $my_pages->the_post();
$out .= '
<a href="<?php the_permalink(); ?>">
<div class="card">
'. the_post_thumbnail(
'thumbnail',
array(
'class' => 'card-img-top rounded-circle img-fluid',
)
) .'
<div class="card-body">
'. the_title( '<div class="card-title h5 text-center">', '</div>' ) .'
</div>
</div>
</a>
';
endwhile;
endif;
wp_reset_postdata();
endwhile; // End of the loop.
return $out;
}
add_shortcode( 'cards', 'shortcode_cards' );
Сам шорткод срабатывает, но почему-то не срабатывает условие проверки наличия постов.