0

我已经创建了一个 wordpress 帖子的网格视图,并且我试图在鼠标悬停时为每个帖子显示摘录,thumbnail(post)但如果任何thumbnail(post)没有任何摘录内容,则不应显示该内容。

    <?php
    $args = array('post_type' => 'press');

    $counter = 1; //start counter

    $grids = 4; //Grids per row

    global $query_string; //Need this to make pagination work


    /*Setting up our custom query (In here we are setting it to show 12 posts per page and eliminate     all sticky posts) */
    query_posts ( $args );//query_posts($query_string . '&caller_get_posts=6&posts_per_page=12');

    if(have_posts()) :  while(have_posts()) :  the_post(); 
    ?>
    <?php
    //Show the left hand side column
if($counter >= 1) :
?>
        <div class="griditemleft" style="position:relative;">
        <div class="postimage">
            <a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>"><?php the_post_thumbnail('category-thumbnail'); ?></a>
<div class="excerpt"><?php if post have excerpt then display .excerpt on hover else display only the thumbnail?>
        </div>
        <h2 class="press-title"><a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a></h2>
    </div>
                <h2 class="press-title"><a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a></h2>
            </div>
<?php
//Show the right hand side column
elseif($counter == $grids) :
?>

<div class="clear"></div>
<?php
$counter = 0;
endif;
?>
<?php
$counter++;
endwhile;
//Pagination can go here if you want it.
endif;
?>
4

1 回答 1

0

如果我理解正确,如果没有与之关联的缩略图,您不想显示帖子。如果我是对的,那么您应该在 if 语句中添加另一个条件( if($counter >= 1) )。将此条件 (get_post_thumbnail() !== ") 添加到当前 if 语句中,它应该按照您的意愿执行。示例如下:

if(($counter >= 1 && (get_post_thumbnail() !== ""))

编辑:阅读您添加的内容后。我建议您使用get_the_excerpt() 函数。如果存在摘录,则返回一个值,否则返回一个空字符串。查看下面的代码示例:

$my_excerpt = get_the_excerpt();
if ( $my_excerpt != '' ) {
    // print excerpt
}

使用此代码和一些 JavaScript 或 CSS,您应该能够达到您想要的效果。

于 2013-10-07T14:24:14.300 回答