我有自己的wordpress网站,我已经安装了动态标头插件。 我在“标题图片”目录中有5张图片。
我想在特定页面上随机显示5张图片中的3张?我该怎么做?
我在页面中选择了随机媒体标题,但它随机显示了所有5个图像。
我应该怎么做才能在我的页面上随机显示3张图片?
答案 0 :(得分:1)
我认为插件默认不会这样做,但您可以尝试将以下功能添加到custom-header.php
:
function dh_get_random_media_item_filebased($files = array()){
global $dhnd_image_dir;
//Open the media directory and add all of the images to an array.
if($media_dir = opendir($dhnd_image_dir)){
while ($m_file = readdir($media_dir)) {
if($m_file != "." && $m_file != ".." && in_array($m_file, $file)){
$media_array[] = $m_file;
}
}
}
return $media_array[rand(0,count($media_array)-1)];
}
然后,当您致电dh_get_random_media_item_filebased()
时,您需要指定您希望随机化的文件的名称:
$names = array('header1.jpg','header2.jpg','header3.jpg');
dh_get_random_media_item_filebased($names);
在您的主题page.php
文件中,您可以执行以下操作:
global $post; //wordpress post global object
//
if($post->post_type == 'page'){
$names = array();
switch($post->post_name) {
case 'sample-page':
$names = array('image-1.jpg','image-2.jpg','image-3.jpg');
break;
case 'sample-page-2':
$names = array('image-4.jpg','image-5.jpg');
break;
default:
$names = array('image-1.jpg',
'image-2.jpg',
'image-3.jpg',
'image-4.jpg',
'image-5.jpg');
break;
}
$images = dh_get_random_media_item_filebased($names);
}
当然,您可以更改switch语句中的$post->post_name
以检查和ID
或类似$post->ID
。