尝试检查并查看帖子是否在主循环之外有特色图片

时间:2013-06-26 作者:Tiger Danky

我需要找出当前加载的帖子是否有特征图像,如果有,我希望它显示不同的徽标,而不是没有与帖子关联的特征图像。

这项功能现在可以使用,但没有我正在寻找的检查功能:

<?php echo is_front_page() ? \'<h1 id="logo" class="h1 threecol first">\' : \'<strong id="logo" class="h1 threecol first">\'; ?>
    <a href="<?php echo home_url(); ?>" rel="nofollow"><img src="<?php header_image() ?>" alt="<?php bloginfo(\'name\'); ?> logo" height="<?php echo get_custom_header()->height; ?>" width="<?php echo get_custom_header()->width; ?>" /></a>
<?php echo is_front_page() ? \'</h1>\' : \'</strong>\'; ?>
我的问题是,我已经查看了WP文档以获得get\\U帖子或启动新的WP\\U查询,但我还没有理解如何:

运行一个新的循环,获取页面ID并查看其是否有特征图像,然后执行标准的if/else语句,我对if/else的想法如下:

<?php echo is_front_page() ? \'<h1 id="logo" class="h1 threecol first">\' : \'<strong id="logo" class="h1 threecol first">\'; ?>
    <a href="<?php echo home_url(); ?>" rel="nofollow">

    <? // IF/ELSE CODE TO EXECUTE IF post_has_thumbnail ?>
    <?php if ( has_post_thumbnail() ) : ?>      
    <img src="<?php header_image() ?>" alt="<?php bloginfo(\'name\'); ?> logo" height="<?php echo get_custom_header()->height; ?>" width="<?php echo get_custom_header()->width; ?>" />
    <?php else : ?>
    <img src="/i/logo-no-feat-img.png" alt="<?php bloginfo(\'name\'); ?> logo" height="120" width="222" />
    <?php endif; ?>
    <? // end ATTEMPTED IF/ELSE CODE ?>

    </a>
<?php echo is_front_page() ? \'</h1>\' : \'</strong>\'; ?>

WORKING CODE

    <?php echo is_front_page() ? \'<h1 id="logo" class="h1 threecol first">\' : \'<strong id="logo" class="h1 threecol first">\'; ?>
    <a href="<?php echo home_url(); ?>" rel="nofollow">
    <? // IF/ELSE CODE TO EXECUTE IF post_has_thumbnail ?>
    <?php if (is_home() || has_post_thumbnail(get_the_ID()) ) : ?>      
    <img src="<?php header_image() ?>" alt="<?php bloginfo(\'name\'); ?> logo" height="<?php echo get_custom_header()->height; ?>" width="<?php echo get_custom_header()->width; ?>" />
    <?php else : ?>
    <img src="<?php echo get_template_directory_uri(); ?>/library/images/logo-without-feat_img.png" alt="<?php bloginfo(\'name\'); ?> logo" height="302" width="203" />
    <?php endif; ?>
    <? // end IF/ELSE CODE ?>
    </a>
    <?php echo is_front_page() ? \'</h1>\' : \'</strong>\'; ?>

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

has_post_thumbnail() 接受帖子ID:

if ( is_singular() and has_post_thumbnail( get_the_ID() )
{
    // show post thumbnail
}
elseif ( is_front_page() )
{
    // show front page content
}
else
{
    // do something else
}

结束

相关推荐

使用新的WP-Query()从循环中过滤后期格式;

嗨,我目前正在为我的博客构建一个主题。下面的代码指向最新的帖子(特色帖子)。因为这将有一个不同的风格比所有其他职位。然而我想过滤掉帖子格式:链接使用我在循环中定义的WP查询,因为它给我带来了更多的灵活性。我该怎么做呢? <?php $featured = new WP_Query(); $featured->query(\'showposts=1\'); ?> <?php while ($featured->have_post