首页上以精选图像缩略图为背景的多个实例

时间:2014-09-09 作者:mechakoichi

Here\'s what I\'m trying to do:

<使前6篇文章在主页上的显示方式与第7篇及以上不同。前六篇文章应该抓取他们的特色缩略图并将其用作背景,然后用标题覆盖背景我已经完成了大部分工作,但问题是前六篇文章只有一个背景图像,这是六篇文章中最后一篇的特色文章图像(如果我发布3篇文章,它将从最后一篇,即第三篇文章中提取特色图像缩略图)。

我想要的是,每个帖子都拉出自己的特色图片缩略图,并将其用作背景图片,这样它们就不完全相同了;)

Image Of What Happens:https://www.dropbox.com/s/3k8ngeukl59c0ff/Screen%20Shot%202014-09-08%20at%205.00.44%20PM.png?dl=0

The code I\'m using:

<?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">
    <?php $background = wp_get_attachment_image_src( get_post_thumbnail_id( $page->ID ), \'full\' ); ?>
    <h2><?php the_title(); ?></h2>
    </div></a>

    <style>
    .featured_box { background: url(\'<?php echo $background[0]; ?>\') no-repeat center center; }
    </style>

<?php endif; ?>
<?php endwhile; ?>
<?php endif; ?>

<?php }
?>
任何帮助都将不胜感激!

2 个回复
SO网友:mechakoichi

解决方案是删除样式标记,并将背景样式直接写入。featured\\u box div.感谢推特上的@ckhicks提供解决方案,也感谢所有其他人的帮助<;3.

 <?php $background = wp_get_attachment_image_src( get_post_thumbnail_id( $page->ID ), \'full\' ); ?>
    <a href="<?php the_permalink(); ?>"><div class="featured_box" style="background: url(\'<?php echo $background[0]; ?>\') no-repeat center center;">
    <h2><?php the_title(); ?></h2>
    </div></a>

SO网友:Nerolathe

我已经有一段时间没有处理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:很抱歉,如果这相当混乱,第一次真的在这里发布。:)

结束

相关推荐

Wordpress loop is not working

有人能告诉我为什么wordpress的博客会反复循环标题和横幅吗?似乎不仅仅是循环帖子,而是循环整个页面。此代码在我的内容中。php文件。任何帮助都将不胜感激。以下是我的博客链接:http://testing.printlabelandmail.com/blog/<?php /** * The default template for displaying content. */ get_header(); ?> <!-- Start T