我试图找到一种从帖子或 wordpress 的内置图像库中提取随机图像的方法。我不确定如何从帖子或媒体库中查询图像 uri - 是否有我可以采用的标签或方法?我应该只用 PHP 写一些东西来手动查询 wordpress 数据库吗?如果是这样,返回图片网址的最有效方法是什么?
PS 我会在 Wordpress Stack 上发布这个,但它看起来更像是一个技术问题,而不是一个特定于 wordpress 的问题,所以我把它带到了这里。Wordpress 堆栈问题有一个不好的习惯,就是没有得到回答。
Wordpress 具有内置函数来访问附加到帖子的图像上的数组。我在网上找到了这个功能,它可能正是你要找的。它获取附加到帖子的图像,对它们进行随机排序,并返回第一个的 URL:
function random_image_url($size=large) {
global $post;
if ( $images = get_posts(array(
'post_parent' => get_the_ID(),
'post_type' => 'attachment',
'numberposts' => 1,
'orderby' => 'rand',
'post_mime_type' => 'image',))) {
foreach( $images as $image ) {
$attachmenturl=wp_get_attachment_image_src($image->ID, $size);
$attachmenturl=$attachmenturl[0];
echo ''.$attachmenturl.'';
}
} else {
echo '' . get_bloginfo ( 'stylesheet_directory' ) . '/img/no-attachment.gif';
}
}