首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Wordpress get_the_post_thumbnail();发布

Wordpress get_the_post_thumbnail();发布
EN

Stack Overflow用户
提问于 2016-12-30 01:33:47
回答 3查看 314关注 0票数 1

我在wordpress中创建了一个自定义主题,在显示get_the_post_thumbnail();时遇到了问题,我尝试了几种不同的方法,但都没有成功。即使有缩略图,它也会回显“没有缩略图”

代码语言:javascript
复制
<?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();
EN

回答 3

Stack Overflow用户

发布于 2016-12-31 02:56:14

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

您遇到的第一个问题是没有定义$_post,因此has_post_thumbnail()的计算结果总是为false。

使用$post是很常见的,但您首先会希望包含global $post;

其次,正如另一位用户已经指出的那样,has_post_thumbnail不接受多个参数(尽管这不太可能造成问题)。

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

改变这个-

代码语言:javascript
复制
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';
}

对这个-

代码语言:javascript
复制
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-显示单个帖子缩略图:

将下面的放在你的post循环中-

代码语言:javascript
复制
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';
}
票数 1
EN

Stack Overflow用户

发布于 2016-12-30 01:41:17

试试看。

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

“/>

票数 0
EN

Stack Overflow用户

发布于 2016-12-30 02:29:42

has_post_thumbnail只接受一个参数,即post对象(或post id)。

删除,‘缩略图’,这样它就是:

代码语言:javascript
复制
if (has_post_thumbnail($_post->ID) ){

https://developer.wordpress.org/reference/functions/has_post_thumbnail/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41384557

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档