在所有页面上显示帖子特色图像

时间:2013-06-03 作者:JacobTheDev

首先,让我先说我对WordPress很陌生。我以前只做过基本主题,这是我的第一个大项目。

我正在设计一个每页都有两个侧边栏的设计。每个侧边栏显示两个类别中的最新帖子。这些帖子都有与之相关的特色图片。我想在每个页面的侧栏中显示帖子的特色图片,但我不知道怎么做。功能图像总是希望从当前页面中提取图像,而不是我试图显示的帖子。或者根本没什么用。

有没有办法做到这一点,或者我必须求助于使用小部件?我真的不想做一个小部件,因为客户端只需发布一些东西并将其显示在侧边栏中,会容易得多。

下面是我正在尝试使用的代码(目前没有显示任何特征图像):

<?php query_posts(\'category_name=Festivals\',\'showposts=1\'); ?>
<?php while (have_posts()) : the_post(); ?>
    <?php
        if(has_post_thumbnail( $id )) {
            echo get_the_post_thumbnail( $id, \'full\');
        }                                                                                                                                                              
    ?>
    <p><?php the_time(\'M j\') ?>: <a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></p>
<?php endwhile;?>

2 个回复
最合适的回答,由SO网友:Pieter 整理而成

未定义$id变量。在条件语句之前添加以下内容:

$id = get_the_ID();

SO网友:s_ha_dum

首先,不要使用query_posts.

第二,两者都不是has_post_thumbnail 也没有get_the_post_thumbnail 在循环中需要一个post ID,实际上您并不需要get_the_post_thumbnail 完全你只需要the_post_thumbnail. 我建议使用以下代码:

if(has_post_thumbnail()) {
  the_post_thumbnail(\'full\');
} 
如果你没有做其他事情echo您不需要has_post_thumbnail 检查其中一个。get_the_post_thumbnail, 哪一个the_post_thumbnail 用于检索特征图像标记will return an empty string if there is no featured image. 您真正需要的是:

the_post_thumbnail(\'full\');

结束

相关推荐

duplicate sidebar

我对侧边栏有问题。我有4个侧边栏:“Essential”、“Essential+”、“Premier”和“Premier+”。register_sidebar( array( \'name\' => __(\'Essential Plan\'), \'before_widget\' => \'<ul>\', \'after_widget\' => \'</