在WordPress中显示在主页上的随机帖子附件



我正在尝试将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;

相关内容

  • 没有找到相关文章

最新更新