2016-12-29 115 views
1

我在wordpress中创建自定义主题,并显示问题get_the_post_thumbnail();尝试了几种不同的方式,但没有成功。它回应'没有缩略图',即使有缩略图Wordpress get_the_post_thumbnail();问题

<?php 
/* 
* Template Name: Blog Page 
*/ 
get_header(); ?> 

<div class="top-image"> 
<div class="headlines-2"> 
     <h1 class="big">blog</h1> 

     </div> 
     </div> 

<div id="primary" class="col-md-12"> 
    <main id="main" class="site-main" role="main"> 
<div class="news"> 
<?php    
$args = array(
'cat' => 9, 
    'posts_per_page' => '70' 
); 

// The Query 
$the_query = new WP_Query($args); 


// The Loop 
if (has_post_thumbnail($_post->ID, 'thumbnail')){ 
$photo = get_the_post_thumbnail($_post->ID, 'thumbnail'); 
echo '<div class="section1-2singlephoto">' . $photo . '</div>'; 
} 

else { 
echo 'no Thumbnail'; 
} 
if ($the_query->have_posts()) { 
while ($the_query->have_posts()) { 
    $the_query->the_post(); 
echo '<div class="boxed col-md-4">'; 
echo '<h2 class="titles">' . get_the_title() . '</h2>'; 
echo '<span class="rule"></span>'; 
    echo '<div class="author-info">'. get_the_date() .'<br>' . 
    get_the_author_link() .'</div>'; 
    echo get_template_part('template-parts/content', get_post_format() 
); 

      echo "</div>"; 

     } 
     } else { 
// no posts found 
} 
/* Restore original Post Data */ 
wp_reset_postdata();?> 
</div> 


    </main><!-- #main --> 
</div><!-- #primary --> 

<?php 

get_footer(); 
+1

格式代码 –

回答

0

试试吧。

$ post_thumbnail_id = get_post_thumbnail_id($ _ post-> ID); $ post_thumbnail_url = wp_get_attachment_url($ post_thumbnail_id);

“/>

1

您正在检查您的自定义帖子循环之外的缩略图,所以我假设您期待将缩略图应用于页面本身而不是单个帖子。

您遇到的第一个问题是$_post未定义,因此has_post_thumbnail()将始终评估为false。

使用$post代替,但首先要包含global $post;

其次,另一个用户已经指出,has_post_thumbnail不接受多个参数(尽管这不太可能导致问题)。

示例1 - 显示页面的缩略图:

改变这一点 -

if (has_post_thumbnail($_post->ID, 'thumbnail')){ 
    $photo = get_the_post_thumbnail($_post->ID, 'thumbnail'); 
    echo '<div class="section1-2singlephoto">' . $photo . '</div>'; 
} 

else { 
    echo 'no Thumbnail'; 
} 

为了这一点 -

global $post; 

if (has_post_thumbnail($post)) { 
    $photo = get_the_post_thumbnail($post->ID, 'thumbnail'); 
    echo '<div class="section1-2singlephoto">' . $photo . '</div>'; 
} else { 
    echo 'no Thumbnail'; 
} 

例2 - 显示个别文章缩略图:

将以下您的文章循环 -

if (has_post_thumbnail()) { // note the removal of all args. 

    // here we switch from using an ID to null 
    $photo = get_the_post_thumbnail(null, 'thumbnail'); 
    echo '<div class="section1-2singlephoto">' . $photo . '</div>'; 
} else { 
    echo 'no Thumbnail'; 
}