我已经有一段时间没有处理HTML了,但如果我没记错的话<style>
标记将是全局的。详细说明:<style></style>
就像您将其附加到css文件的末尾,但是如果您执行了一些内联操作,例如<h2 style="color: red;">test</h2>
, 它将只应用于该html元素。
这可以解释为什么最后一篇文章的图像是重复的。这将发生在您的else语句末尾:
<style>
.featured_box { background: url(\'<?php echo $background[0]; ?>\') no-repeat center center; }
</style>
一个可能的解决方案:(这可能会做得更干净,但我想这会解决它)
<?php
if ( ( is_home() ) )
{ ?>
<div id="featured_area_2">
<?php if (have_posts()) : ?>
<?php $count = 1; ?>
<?php while (have_posts()) : the_post(); ?>
<?php $count++; ?>
<?php if ($count > 7) : ?>
<div style="clear: both;"></div>
</div><!--featured_area_2-->
<article class="post">
<header class="entry-header">
<h1 class="entry-title"><a href=\'/<?php echo get_post_type( $post ) ?>/\'><span class=\'posttype <?php echo get_post_type( $post ) ?>type\'><?php echo get_post_type( $post ) ?></span></a> <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
</header>
</article>
<?php else : ?>
<a href="<?php the_permalink(); ?>"><div class="featured_box" id="featured<?php $count ?>">
<?php $background = wp_get_attachment_image_src( get_post_thumbnail_id( $page->ID ), \'full\' ); ?>
<h2><?php the_title(); ?></h2>
</div></a>
<style>
#featured<?php $count ?>.featured_box { background: url(\'<?php echo $background[0]; ?>\') no-repeat center center; }
</style>
<?php endif; ?>
<?php endwhile; ?>
<?php endif; ?>
<?php }
?>
我刚刚给你的
<div>
这包含了一切。然后,我在正在添加的css样式中添加了一个id选择器。每个
id
只是“特色”加上当前循环数。
P、 S:很抱歉,如果这相当混乱,第一次真的在这里发布。:)