2016-03-02 2 views
0

Я получаю сообщение, используя Wp_query(). А затем покажите post_thumbnail и заголовок.Как отобразить краткое описание публикации в Wordpress?

<?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()) { 
      the_post_thumbnail(); 
      the_title(sprintf('<h4 class="entry-title"><a href="%s">', esc_url(get_permalink())), '</a></h4>'); 
     } 

    endwhile; 
endif; 
wp_reset_postdata(); 
?> 

Если я хочу показать краткое описание сообщения о записи под заголовком и вставить Подробнее, как я могу это сделать?

Thanks

ответ

1

Есть два способа сделать это. Одним из способов является просто вывести содержание статьи, и поставить «Читать далее» тег в тексте <!--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

Смежные вопросы