Я создал шорткод, который должен показывать мне последнее сообщение в определенной категории, вот код
function latest_post($atts = '') {
$atts = shortcode_atts( array(
'cat' => '',
), $atts );
$args = array(
'posts_per_page' => 1,
'cat' => $atts['cat']
);
$content = "";
$posts = get_posts($args);
foreach($posts as $post):
$content = $content."<h2>". apply_filters( 'the_title', $post->post_title) ."</h2>";
$content = $content."<img src='".get_the_post_thumbnail_url(get_the_ID(),'full')."' />";
$content = $content."<p class='post-content-custom'>". apply_filters( 'the_content', $post->post_content ) ."</p>";
endforeach;
return $content;
}
add_shortcode('latest_post', 'latest_post');
Теперь проблема в том, что мне нужно дважды или более вызывать этот плагин на одной и той же странице, но мне нужно, чтобы он показывал мне следующее сообщение, если последнее сообщение уже показано на странице с таким же шорткодом.
Например мне нужно:
[latest_post cat="cars"]
[latest_post cat="books"]``[latest_post cat="cars"]
Теперь во второй раз, когда я звоню [latest_post cat="cars"]
, он должен показать мне latest post - 1
, потому что последний пост уже вызван первым шорткодом.