0

私はワードプレスの投稿のグリッドビューを作成しました。それぞれのマウスホバーで抜粋を表示しようとしていますが、抜粋コンテンツがない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 に答える