function fetch_random_img($postid='') {
global $wpdb;
if (empty($postid))
{
//we are going for random post and random image
$postid = $wpdb->get_var("SELECT ID FROM $wpdb->posts WHERE post_status = 'publish' ORDER BY RAND() LIMIT 1");
}
$imageid = $wpdb->get_var($wpdb->prepare("SELECT ID FROM wp_posts WHERE post_type='attachment' AND post_mime_type LIKE 'image/%' AND post_parent=$postid ORDER BY RAND() LIMIT 1"));
if ($imageid) {
echo wp_get_attachment_image( $imageid, 'full' );
}
else {
return false;
}
}
2 回答
是的,这是可能的,而不是那么困难 . 您在创建帖子时上传图像 .
然后在single.php中使用get_children从帖子中获取所有图像 .
在循环中假设:
并输出它们如下:
对于随机图像,您可以使用与上面相同的get_children,但将
&numberposts=1
添加到args字符串 .或类似的东西:
这将只给你一个随机图像,它将是随机的,而get_children每次都会拉出相同的图像,除非你添加order和orderby参数,这将允许你更改哪个图像出来 .
要在div中回显图像,只需调用函数:
对于每个帖子,添加一个带有名称和值的自定义字段 . 您可以将名称设置为ImageURL1,值可以是图像的URL . 根据需要为帖子添加任意数量的自定义字段 . 例:
使用以下代码将其打印在single.php或循环内的任何其他文件中:
要在主页上加载它,您将查询帖子,然后获取index.php中特定名称的自定义字段值:
您可以随机化它或循环浏览自定义字段(如果需要) .