2013-06-21 59 views
0

我需要更改此代碼,以便第一篇文章以「first」類顯示,並且firsttop和firstbottom也有firsttop類。內頁的其餘部分,例如page/2 /,page/3 /等將不會有這個類。我已經嘗試了很多事情,請幫助不知道這裏有什麼錯。在主頁上的自定義第一篇wordpress

<?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; 
?> 

回答

0

您是否嘗試過使用過濾器?

瞭解更多關於此http://codex.wordpress.org/Function_Reference/add_filter

WordPress的您的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; 
} 
相關問題