-
16-10-2019 - |
题
我想每天都会更改标头横幅,例如(例如随机)图像的列表/文件夹。
到目前为止,我只找到了每个帖子或每个页面视图选择随机横幅的插件,我也不想要。您知道插件或其他任何方法吗?
编辑:示例。我正在将文件夹添加到我的WordPress安装中。该文件夹包含一些标头图像。每24小时,从该文件夹中选择一个随机图像,并成为24小时的标题图像,直到选择另一个随机图像。
实际上,我不在乎如何确切选择图像 - 我也可以旋转文件夹中的所有图像。我唯一关心的是所选图像在那里停留24小时。
基本上,这就像我每天手动挑选新的标头图像一样。
解决方案
<div id="header">
<?php
mt_srand((int)date('z'));
$headers=glob(PATH_TO_FILES .'/*.jpg');
$header=mt_rand(0,count($headers)-1 );
?>
<img id="header-image" `src="<?php echo URL_TO_FILES . '/'.basename($headers[$header]); ?>" alt="header" />
</div>
用这个替换当前的标头。如果您需要帮助,我当然会帮助您进一步实施。 (或者如果您需要说明的代码)
其他提示
如果您不能编码,对不起,没有。
如果可以编码,请查看这些插件正在使用的挂钩,并相应地创建一个新插件。
看 http://www.alistapart.com/articles/betterrotator/ 我自己在几个网站上使用它。
你可以看一下 这个 JavaScript示例,在主题中实现它非常容易。
根据Cronco的答案和大量的实验(我既不熟悉PHP也不熟悉WordPress本身的内部工作)和一些清理工作,我找到了一种完美满足我需求的解决方案。
使用Twententen主题,我像这样编辑了其header.php:
<?php
// Check if this is a post or page, if it has a thumbnail, and if it's a big one
if ( is_singular() &&
has_post_thumbnail( $post->ID ) &&
( /* $src, $width, $height */ $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'post-thumbnail' ) ) &&
$image[1] >= HEADER_IMAGE_WIDTH ) :
// Houston, we have a new header image!
echo get_the_post_thumbnail( $post->ID, 'post-thumbnail' );
else : ?>
<!-- patch mafu begin -->
<?php
$headers = glob( get_template_directory() . '/banners/*.jpg' );
$header = (int)date('z') % count($headers);
?>
<img src="<?php echo get_template_directory_uri() . '/banners/' . basename($headers[$header]); ?>" width="<?php echo HEADER_IMAGE_WIDTH; ?>" height="<?php echo HEADER_IMAGE_HEIGHT; ?>" alt="" />
<!-- patch mafu end -->
<?php endif; ?>
如果未为显示的页面设置特定图像(这是该主题的特定图像),则根据当前一天中的所有JPG图像选择标头图像 theme_directory/banners
文件夹,必须创建。
我试图更多地将图像顺序随机化,但是显然这是一种简单的方式,因此我采用了固定顺序。