Есть два способа сделать это. Одним из способов является просто вывести содержание статьи, и поставить «Читать далее» тег в тексте <!--more-->
, и вы получите текст, выводимый с «Читать далее» кнопку после него:
<?php
$args = array(
'type' => 'post',
'category__in' => '23',
'posts_per_page' => 1,
'offset' => 2,
);
$lastBlog = new WP_Query($args);
if($lastBlog->have_posts()):
while($lastBlog->have_posts()): $lastBlog->the_post();
if (has_post_thumbnail()) {
echo '<div class="post_wrapper">';
the_post_thumbnail();
the_title(sprintf('<h4 class="entry-title"><a href="%s">', esc_url(get_permalink())),'</a></h4>');
the_content('Read more ...');
echo '</div>';
}
endwhile;
endif;
wp_reset_postdata();
?>
Я обернул все в .post_wrapper
div, для удобства управления.
Другой способ заключается в использовании the excerpt()
с вручную добавил «Read More» кнопку
<?php
$args = array(
'type' => 'post',
'category__in' => '23',
'posts_per_page' => 1,
'offset' => 2,
);
$lastBlog = new WP_Query($args);
if($lastBlog->have_posts()):
while($lastBlog->have_posts()): $lastBlog->the_post();
if (has_post_thumbnail()) {
echo '<div class="post_wrapper">';
the_post_thumbnail();
the_title(sprintf('<h4 class="entry-title"><a href="%s">', esc_url(get_permalink())),'</a></h4>');
the_excerpt();
echo '<a href="'.esc_url(get_permalink()).'" class="read_more_button" title="'.esc_html__('Read more...', 'theme_slug').'">'.esc_html__('Read more...', 'theme_slug').'</a>';
echo '</div>';
}
endwhile;
endif;
wp_reset_postdata();
?>
Вы можете выбрать, какой из них использовать.
Также вы уверены, что не хотите показывать сообщение, если у вас нет миниатюры? если нет, просто переместите условие if перед заголовком, и вы должны иметь сообщение, даже если вы не установили миниатюру сообщения. Если вы так выразились, то все в порядке. : D