我正在尝试将 1 张随机图片附加到帖子上,并将其显示在首页(更改刷新时显示的图片)。我看到的所有代码都显示了如何在帖子页面的循环中显示附件,但这将从一个页面获取附件并将其显示在不同的页面上。
任何帮助都会很大,因为我对此没有真正的起点。
我正在尝试将 1 张随机图片附加到帖子上,并将其显示在首页(更改刷新时显示的图片)。我看到的所有代码都显示了如何在帖子页面的循环中显示附件,但这将从一个页面获取附件并将其显示在不同的页面上。
任何帮助都会很大,因为我对此没有真正的起点。
您可以使用WP_Query
直接查询附件。它们实际上是仅用于附件的帖子类型。这段代码将输出<img>
随机图像的标签:
$query = new WP_Query( array( 'post_status' => 'any', 'post_type' => 'attachment' ) );
$key = array_rand($query->posts, 1);
echo wp_get_attachment_image($query->posts[$key]->ID, 'medium');
该字符串medium
可以替换为您在仪表板的媒体部分中设置的其他大小,或者您在代码中使用设置的自定义大小add_image_size()
。
未经测试,但这应该只从您的数据库中获取一行,并且它充分利用了 WP_Query 函数。
'full'
您可以通过替换为数组(例如array(200, 130)
)来更改显示的图像的大小。检查法典以wp_get_attachment_image()
获取更多信息。
$args = array(
'orderby' => 'rand',
'post_type' => 'attachment'
'post_status' => 'inherit',
'posts_per_page' => 1
)
$query = new WP_Query($args);
if($query->have_posts()) : while($query->have_posts() : $query->the_post();
echo wp_get_attachment_image(get_the_ID(), 'full');
endwhile;
wp_reset_postdata();
endif;