1

ページ上のすべての投稿に対してpost_classを「最初に」取得するにはどうすればよいですか。

このコードを使用して、ループの実際の最初の投稿のクラス「first_post」を管理しましたが、ループの2番目、3番目などのページにも必要です。

function.php

function firstpost_class($class) {
    global $post, $posts;
    if ( is_home() && !is_paged() && ($post == $posts[0]) ) $class[] = 'firstpost';
    return $class;
}
add_filter('post_class', 'firstpost_class');

ご協力いただきありがとうございます。グーグルはまだ助けることができませんでした。

4

1 に答える 1

-1

この種のことがループ自体で行われているのを見てきました-サイト全体でこれを行うか、特にpost_classにフックするかを明確にするためにコメントしてください(繰り返しますが、loop.phpまたはcontent-LOOPTYPEを編集できます.php に変換し、何度も再利用します)。ループの例を次に示します。

<?php
$counter = 0;
if ( have_posts() ) : while ( have_posts() ) : the_post();
$counter++;
?>

<div class="post <?php echo 'item-' . $counter; ?>">
  <?php the_title(); ?>
  <?php the_content(); ?>
</div>

<?php endwhile; endif; ?>

これにより、item-1、item-2 などが得られます。

于 2012-06-22T17:11:47.990 に答える