我有一个wordpress查询,输出包含以下信息的帖子:-年份-链接到pdf文件-标题-帖子图像
因此,它本质上是一个可追溯到19世纪60年代至今的年度报告档案。早期,每年都没有pdf文件/帖子。在某些年份的较新时期,每年有多个文件。
我需要查询以输出具有以下配置的UL:
<ul>
<li class="decimal-year pdf-present"><a href="#">1860</a><div>Image, Title, PDF Link in Post</div></li>
<li class="normal-year pdf-present"><a href="">1861</a><div>Image, Title, PDF Link in Post</div></li>
<li class="normal-year no-pdf"><a href="#">1862</li>
</ul>
因此,如果该类的“十进制”年份(如1860、1870、1880等)或介于1861、1862、1863等年份之间的年份,则该类应包含信息。然后需要有一个类来说明是否有相应的年报。(链接将显示在视觉时间线上)因此,即使没有年度输出,仍然需要一个li元素。如果一年中有多个文件,那么div中应该有另一个包含数据的ul。
我知道这是一个相当大的疑问!
目前的查询如下:
// set the query
$query = array (
\'post_type\' => \'jahresberichtpdf\',
\'orderby\' => \'jahresberichtjahr\'
);
// loops
$queryObject = new WP_Query($query);
if ($queryObject->have_posts()) : ?>
<?php while ($queryObject->have_posts()) : ?>
<?php $queryObject->the_post(); ?>
<li>
Title:<?php the_title(); ?>
Thumbnail:<?php the_post_thumbnail(\'thumbnail\'); ?>
<strong>PDF:</strong> <?php print_custom_field(\'jahresberichtfile:to_link\'); ?>
<strong>Year:</strong> <?php print_custom_field(\'jahresberichtjahr\'); ?>
</li>
<?php endwhile; ?>
<?php endif; ?>
有没有人做过这样的查询,或者愿意接受挑战?如果有人愿意付出一些努力,我会以贝宝捐赠的形式表示感谢!
谢谢mark
SO网友:s_ha_dum
假设这是主要问题:
如何用li元素填充“空”年份,并根据年份添加类?
您并没有真正的“查询”问题,只有PHP/标记问题。您需要独立于查询跟踪您的年份。下面是执行此操作的概念验证代码。我没有试图让它输出您需要的精确标记。请注意,循环对post订单非常敏感,您需要\'ignore_sticky_posts\' => true
否则,发布日期将无序,循环将无法正常工作。它将在最后一个帖子的年份结束,不一定是“今年”。
$year = 2000;
$qry = new WP_Query(
array(
\'post_type\'=>\'post\',
\'posts_per_page\'=>-1,
\'orderby\'=>\'date\',
\'order\'=>\'ASC\',
\'ignore_sticky_posts\' => true
)
);
if ($qry->have_posts()) {
while ($qry->have_posts()) {
echo $year;
if (date(\'Y\',strtotime($qry->post->post_date)) == $year) {
the_title();
$qry->the_post();
} else {
echo \'no posts\';
$year++;
}
echo \'<br />\';
}
}