仅在缩略图可用时才向搜索结果添加缩略图?

时间:2012-11-15 11:51:41

标签: php wordpress search thumbnails

我目前有  保存搜索结果标题的div内部的<?php the_post_thumbnail('post-thumbnail', array( 'class' => "search-thumb attachment-post-thumbnail")); ?>和摘录。我想要实现的是ONLY如果帖子有可用的话,可以添加缩略图。

我的理由是因为添加缩略图会使div的高度变大。 假设缩略图的div高度为150px。如果搜索结果没有缩略图,我想消除高度并使div只适合文本。

search.php中的HTML //

<?php get_header(); ?>

<div id="container" class="clearfix">
<div id="content-wrap">

<h1 class="heading1">Search Results</h1>
<div class="br"></div>

<div class="clear"></div>
<h2><?php echo 'Items Found ' . $wp_query->found_posts; ?></h2>
<div class="clear"></div>

<?php if(have_posts()): ?> <?php while(have_posts()) : the_post(); ?>


    <div class="s-res">
    <h3><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a></h3>
    <div class="search-thumb">
            <?php the_post_thumbnail('post-thumbnail', array( 'class'   => "search-thumb attachment-post-thumbnail")); ?>
        </div>
    <?php echo str_replace('[...]', '', get_the_excerpt()); ?>
    </div>

    <?php endwhile; ?>
    <?php else : ?>
    <i><?php _e('Sorry, but nothing matched your search criteria.<br> Please try again with different keywords.'); ?></i>
    <?php endif; ?>

</div>
</div>





<?php get_footer(); ?>

CSS显示高度ect //

.s-res {
    height: 150px;
    margin-bottom: 10px;
}

img.search-thumb {
    float: left;
    background: url(images/diag_lines.png) repeat;
    height: 100px;
    padding: 10px;
}

SCREENSHOT //

screenshot http://i49.tinypic.com/2vv73oh.png

1 个答案:

答案 0 :(得分:3)

将缩略图div包装在if ( has_post_thumbnail() ) {...条件块中。以下是使用该函数时代码的样子:

<?php get_header(); ?>

<div id="container" class="clearfix">
<div id="content-wrap">

<h1 class="heading1">Search Results</h1>
<div class="br"></div>

<div class="clear"></div>
<h2><?php echo 'Items Found ' . $wp_query->found_posts; ?></h2>
<div class="clear"></div>

<?php if(have_posts()): ?> <?php while(have_posts()) : the_post(); ?>

    <div class="s-res">
    <h3><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a></h3>
    <?php if ( has_post_thumbnail() ): ?>
        <div class="search-thumb">
            <?php the_post_thumbnail('post-thumbnail', array( 'class'   => "search-thumb attachment-post-thumbnail")); ?>
        </div>
    <?php endif ?>
    <?php echo str_replace('[...]', '', get_the_excerpt()); ?>
    </div>

    <?php endwhile; ?>
    <?php else : ?>
    <i><?php _e('Sorry, but nothing matched your search criteria.<br> Please try again with different keywords.'); ?></i>
    <?php endif; ?>

</div>
</div>

<?php get_footer(); ?>

我建议你先问一个快速的Google搜索问题;)这个函数很容易找到,除了WordPress有一个很好的代码文档,所以你很可能会能够在那里找到你的大部分问题的答案。