Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用PHP基于不一致的图像块模式应用CSS类?_Php_Wordpress_Modulus - Fatal编程技术网

如何使用PHP基于不一致的图像块模式应用CSS类?

如何使用PHP基于不一致的图像块模式应用CSS类?,php,wordpress,modulus,Php,Wordpress,Modulus,我一次显示一个星期的帖子,每个星期的每一天都会包含每个帖子的缩略图。提要的目标类似于下面的屏幕截图(括号表示一篇文章及其各自的文章计数) 正如你所看到的,我每天发布的帖子数量参差不齐。我不知道我会发表多少篇文章。我希望能够应用一个CSS类(在下面的代码片段中,您会看到我将CSS类称为“margin”),这将在我的CSS中使用,以便我可以将margin应用于所有中心图像 图中每行最多有3个图像(即3列:左、中、右);但是,它可以有无限数量的行。我希望能够将这个“空白”类应用到中间列中的所有帖子。

我一次显示一个星期的帖子,每个星期的每一天都会包含每个帖子的缩略图。提要的目标类似于下面的屏幕截图(括号表示一篇文章及其各自的文章计数)

正如你所看到的,我每天发布的帖子数量参差不齐。我不知道我会发表多少篇文章。我希望能够应用一个CSS类(在下面的代码片段中,您会看到我将CSS类称为“margin”),这将在我的CSS中使用,以便我可以将margin应用于所有中心图像

图中每行最多有3个图像(即3列:左、中、右);但是,它可以有无限数量的行。我希望能够将这个“空白”类应用到中间列中的所有帖子。

我开始编写代码,说明这是如何实现的,但我不知道如何将该类仅应用于所有中间职位。一位朋友告诉我使用模数,但不知道如何正确地实现它。如果您需要进一步的澄清,请告诉我

请看我制作的这个图的屏幕截图,它有助于描述我希望实现的目标。我认为这将帮助您更好地理解这个问题:

<section class="post-by-date">
<?php 
    $day_check = '';
    $today = get_the_date();
    $year = date('Y');
    $week = date('W');
    $news_query = new WP_Query('category_name=main&year=' . $year . '&w=' . $week);

    while ($news_query->have_posts()) : $news_query->the_post();
    $day = get_the_date('j');
    if ($day != $day_check) {
        echo "<h3>" . get_the_date() . "</h3>";
    }

    $post_count = $news_query->current_post;
    $found_posts = $news_query->found_posts;

    if ($post_count % 3 == 0) {
        $apply_css_margin = TRUE;

    }
    else {
        $apply_css_margin = FALSE;
    }

?>
<article id="post-<?php the_ID(); ?>" <?php if($apply_css_margin) { post_class('margin'); } else { post_class(); } ?>>
    <a href="<?php the_permalink(); ?>">
        <?php the_post_thumbnail('featured'); ?>
    </a>
</article>
<?php $day_check = $day; endwhile; ?>
</section>



如果不仔细看一下,您似乎采取了正确的常规方法,但需要的是
$post\u count%3==2
,因为您也需要中间的方法,所以最好不要在CSS类名中包含格式,在这种情况下甚至更好,由于顺序可以由CSS理解的机制决定,如果你不关心支持IE8,你可以使用类似于
section.post-by-date>article:nth-child(2){font-style:italic;}
,并避免添加一个类。@BrettZamir-我最初尝试使用nth-child;然而,由于每天发布的帖子数量参差不齐,这一问题开始发挥作用。所以第n个孩子通常会工作一段时间,但当我向下滚动列表时,模式最终会中断,因此这似乎不可能…即使您使用
3n+2
作为表达式(我应该在上面发布)?如果这不起作用,我不确定你在做什么(而且
3n+2
也符合我上面的
$post\u count%3==2
建议)。@BrettZamir-刚刚尝试使用第n个孩子(3n+2),但这似乎不符合模式……我更新了一个屏幕截图,上面显示了帖子布局的样子。正如您所看到的,这个场景(因为我只展示了1周的帖子)可以是任何形式的——取决于我当天发布的帖子数量。