特色图片VS帖子缩略图--帖子缩略图撒谎了吗?

时间:2011-05-31 作者:JKirchartz

好的,我得到了一个自定义的帖子类型,启用了缩略图,可以将“特色图片”面板添加到该帖子类型中,但是在我的模板中

if ( has_post_thumbnail() ) {
    the_post_thumbnail();
} else {
    echo \'none\';
}
它只是在每一张上显示“无”,即使我有一个特色图像集。。。我有add_theme_support(\'post-thumbnails\',array(\'post\',\'custom_post_type\')); 所以它得到了主题的支持,但是has_post_thumbnail 总是返回false这是怎么回事???

我的模板是:archive-custom\\u post\\u type。php:

<?php
$loop = new WP_Query(array( \'post_type\' => \'clients\', \'posts_per_page\' => -1 ));
if($loop){
?>
<ul>
<?php
while ( $loop->have_posts() ) : $loop->the_post();
?>
        <li>
            <a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>" >
            <?php 
                if ( has_post_thumbnail($post->ID) ) {
                    the_post_thumbnail(\'thumbnail\');
                    echo get_post($post->ID)->post_excerpt;
                } else {
                    echo \'broken ::\' . $post->ID;
                    echo get_post($post->ID)->post_excerpt;
                }

            ?>
            </a>
        </li>
<?php 
endwhile;
//wp_reset_postdata();
?>
</ul>
<?php
}
?>

3 个回复
最合适的回答,由SO网友:Chip Bennett 整理而成

在您的自定义帖子类型中,是否setup_postdata( $post ) 在自定义循环中?如果没有,has_post_thumbnail() 可能未定义/可用?

编辑:

尝试添加:

setup_postdata( $post );
就在之前:

$loop->the_post();
然后看看has_post_thumbnail() 退货true?

或者,尝试通过$post->ID 您的呼叫has_post_thumbnail()?

has_post_thumbnail( $post->ID );

SO网友:Pippin

尝试从has\\u post\\u缩略图()中删除$post->ID。可能$post对象没有引用您当前的帖子。

SO网友:Phil Jackson

将此添加到函数的顶部。php

if( ! function_exists( \'has_post_thumbnail\' ) )
{
    function has_post_thumbnail( $pid )
    {       
        return get_post_meta( $pid, \'_thumbnail_id\', true );
    }
}

结束

相关推荐