像你所知道的那样查询帖子,然后获取所有帖子,并按照你需要的顺序对它们进行重组。负责建立全球$post
变量,以确保模板代码仍然有效。
这个array_chunk
Docs 对于基于列的输出,函数通常很方便:
$query = WP_Query($queryParameters);
if ($query->have_posts())
{
$columnCount = 3;
$rows = array_chunk($query->get_posts(), $columnCount);
foreach (range(0, $columnCount - 1) as $column)
{
printf("<div class=\\"class-%dcolumn\\">\\n", $column + 1);
foreach ($rows as $row)
{
if (false == isset($row[$column]))
{
continue;
}
$post = $row[$column];
setup_postdata($post);
?>
... single post template html/php mixture ...
<?php
}
print("</div>\\n");
}
}
其他注意事项:
CSS类名不能以数字开头。请参阅CSS规范和/或What characters are valid in CSS class names? - 我在前面加了class-...
.您可能不需要这个确切的源顺序。如果没有,您可以一篇接一篇地输出文章,并只使用CSS处理列显示。这通常会大大简化模板代码