Всем доброго дня. Пытаюсь создать шорткод внутри которого будет прописан цикл, чтобы выводить его в любом месте.
Вот цикл с разметкой:
<div class="container">
<div class="row">
<?php
global $post;
$args = array( 'posts_per_page' => 5, 'orderby' => 'rand', 'category' => 5 );
/* постов на страницу - 5, сортировка - в случайном порядке */
$rand_posts = get_posts( $args );
foreach ( $rand_posts as $post ) :
setup_postdata( $post ); ?>
<div class="col-md-4 col-sm-6">
<div class="card">
<a href="<?php the_permalink(); ?>"><div class="ground"></div><div class="zoom"></div><?php the_post_thumbnail();?></a>
</div>
</div>
<?php endforeach;
wp_reset_postdata(); ?>
</div>
</div>
Пытаюсь вставить этот цикл внутрь шорткода, но я, по-видимому, делаю что-то неправильно.
Вот пример того как я пробовал:
// Регистрируем функцию
function meha() {
//Возвращаем функцию
return '
<div class="container">
<div class="row">
<?php
global $post;
$args = array( 'posts_per_page' => 5, 'orderby' => 'rand', 'category' => 5 );
/* постов на страницу - 5, сортировка - в случайном порядке */
$rand_posts = get_posts( $args );
foreach ( $rand_posts as $post ) :
setup_postdata( $post ); ?>
<div class="col-md-4 col-sm-6">
<div class="card">
<a href="<?php the_permalink(); ?>"><div class="ground"></div><div class="zoom"></div><?php the_post_thumbnail();?></a>
</div>
</div>
<?php endforeach;
wp_reset_postdata(); ?>
</div>
</div>
';
}
//Регистрируем шорткод
add_shortcode( 'mehaman', 'meha' );
К сожалению ничего не получилось. Пробовал еще несколько вариантов, но и они не сработали. В общем, буду благодарен за любую помощь. Спасибо.