0

このコードを変更して、最初の投稿が「first」クラスで表示され、firstbottom とともに firsttop クラスも含まれるようにする必要があります。page/2/ 、 page/3/ などの残りの内部ページには、このクラスはありません。私は多くのことを試しましたが、ここで何が悪いのかわからないのを助けてください。

    <?php
if (have_posts()) :
$count = 0;
while (have_posts()):
the_post();
if (get_post_type() == 'post'):
?>

<?php
if (!is_single() && $count == 0):
?>
<div class="firsttop<?php echo !is_home() ? "notop" : "" ?>"></div>
<?php endif; ?>

<article class="post <?php echo !is_single() ? "preview" : "" ?> <?php echo $count == 0 ? "first" : "" ?> <?php echo !is_home() ? "full" : "" ?>">
    <p class="byline">
        <?php the_time('F j, Y'); ?>
    </p>
    <h3>
        <a href="<?php echo get_permalink() ?>"><?php the_title(); ?> </a>
    </h3>
<div>
        <?php the_content('<span class="more">Read&nbsp;More...</span>'); ?>
</div>
    <?php include ('post-info.php'); ?>
</article>

<?php
if (!is_single() && $count == 0):
?>
<div class="firstbottom<?php echo !is_home() ? "nobottom" : "" ?>"></div>
<?php endif; ?>

<?php
endif;
$count++;
endwhile;
endif;
?>
4

1 に答える 1

0

これにフィルターを使用しようとしましたか?

wordpress add_filter の詳細については、http: //codex.wordpress.org/Function_Reference/add_filter をご覧ください。

新しいプラグインを作成するか、テーマ ディレクトリの functions.php ファイルに追加できます。

この男は post_class でそれを行いましたが、投稿ループ ページで post_class を使用していない場合、うまくいかない可能性があります。http://wpsnipp.com/index.php/functions-php/add-class-to-first-post-in-the-loop/

彼のコードのスニペットは次のとおりです。

add_filter( 'post_class', 'wps_first_post_class' );
function wps_first_post_class( $classes ) {
    global $wp_query;
    if( 0 == $wp_query->current_post )
        $classes[] = 'first';
        return $classes;
}
于 2013-06-22T08:27:18.397 に答える