Posts order in grid

时间:2020-01-21 作者:bhcrow

在我的主题中,我有一个显示特色帖子的网格。这张我很喜欢,但帖子的顺序不是我喜欢的:

https://i.imgur.com/GzGwRXl.jpg

在上面链接的照片上,你可以在红色矩形中看到帖子的当前顺序,下面是绿色矩形,用于说明我想如何显示它们。最大的网格将用于最新发布的帖子。

在主题中显示此内容的代码在此处(如果需要,我可以发送包含代码的整个文件):

function inner($posts, $td_column_number = \'\') {

    $buffy = \'\';

    if (!empty($posts)) {

        $post_count = 0;

        foreach ( $posts as $post ) {
            if ($post_count == 0) {
                $buffy .= \'<span class="td-big-grid-flex-column">\';
            }

            if ($post_count < 2) {
                $td_module_flex = new td_module_flex_6($post, $this->get_all_atts());
                $buffy .= $td_module_flex->render($post_count);

                $post_count++;
                continue;
            }

            if ( $post_count == 2 ) {
                $buffy .= \'</span>\';
                $buffy .= \'<div class="td-big-grid-flex-scroll-holder">\';

                $td_module_flex = new td_module_flex_7($post, $this->get_all_atts());
                $buffy .= $td_module_flex->render($post_count);

                $post_count++;
                continue;
            }

            if ( $post_count > 2 ) {
                $td_module_flex = new td_module_flex_6($post, $this->get_all_atts());
                $buffy .= $td_module_flex->render($post_count);

                $post_count++;
                continue;
            }

            $post_count++;
        }

1 个回复
SO网友:kero

正如我所说in my comment, 如果2-1-3/4-1-5而不是所需的2-1-4/3-1-5也可以放置,那么使用CSS网格可以很容易地做到这一点。MDN has a lot of resources 关于此主题。

退房this fiddle, 在这里,我将MDN示例稍微更改为您的用例。魔法就在这里:

.wrapper > #first {
  grid-row-start: 1;
  grid-column-start: 2;
  grid-row-end: span 2;
}
grid-row-startgrid-column-start 将图元放置在栅格上(并自动放置所有其他图元以填充剩余空间)。然后grid-row-end: span 2 告诉CSS使元素跨越2行。

相关推荐

在Elementor‘Posts Widget’中显示当前和未来的帖子

根据Elementor文件https://developers.elementor.com/custom-query-filter/#Multiple_Post_Types_in_Posts_Widget我需要显示未来的帖子,包括今天的帖子。我们想显示摇滚乐队所在的地点和日期(我们不想显示日期早于今天的帖子)我正在使用此代码:add_action( \'elementor/query/my_custom_filter\', function( $query ) { $meta_qu