显示输入值列表中的随机图像URL

时间:2013-04-25 作者:Ciaran Gaffey

我在WordPress主题中创建了一个选项页面,允许用户输入url或将图像上载到输入字段。该字段的名称为headerimage\\u options[图像],填充后,可以使用以下代码在主题中保存和输出该字段:<?php echo esc_url( $headerimage_options[\'image\'] ); ?>

我创建了三个名为[图像]、[图像2]和[图像3]的输入。我可以使用以下代码保存输入字段的内容并输出所有图像:

<?php $headerimage_options = get_option( \'headerimage_options\' ); ?>

    <img title="<?php bloginfo( \'name\' ); ?>" src="<?php echo esc_url( $headerimage_options[\'image\'] ); ?>"/>

    <img title="<?php bloginfo( \'name\' ); ?>" src="<?php echo esc_url( $headerimage_options[\'image2\'] ); ?>"/>

    <img title="<?php bloginfo( \'name\' ); ?>" src="<?php echo esc_url( $headerimage_options[\'image3\'] ); ?>"/>
我的问题是如何随机输出一幅图像?我已经搜索过了,但到处都找不到答案。

3 个回复
最合适的回答,由SO网友:GhostToast 整理而成

与其呼出这些图像,不如将它们作为字符串存储在数组中,然后随机选择一个数组项。

<?php $headerimage_options = get_option(\'headerimage_options\' ); 
$images = array();
$images[] = \'<img title="\'.get_bloginfo(\'name\').\'" src="\'.esc_url( $headerimage_options[\'image\'] ).\'"/>\';

$images[] = \'<img title="\'.get_bloginfo(\'name\').\'" src="\'.esc_url( $headerimage_options[\'image2\'] ).\'"/>\';

$images[] = \'<img title="\'.get_bloginfo(\'name\').\'" src="\'.esc_url( $headerimage_options[\'image3\'] ).\'"/>\';

$v = array_rand($images);
echo $images[$v];

SO网友:s1lv3r

您可以这样做(假设您知道每次都有3个图像):

<?php
    $headerimage_options = get_option( \'headerimage_options\' ); 
    $number = rand(1,3);
    if($number == 1) $number = \'\'; 
?>
        <img title="<?php bloginfo( \'name\' ); ?>" src="<?php echo esc_url( $headerimage_options[\'image\' . $number] ); ?>"/>

SO网友:Ciaran Gaffey

谢谢你们俩。由此,我想出了如何使它们只显示输入字段中实际包含内容的图像。因此,如果输入字段为空,则没有损坏的图像或空div。我使用了以下代码:

<?php $headerimage_options = get_option(\'headerimage_options\' ); 
$images = array();

if ( "" != $headerimage_options[\'image\'] ) :

$images[] = \'<img title="\'.get_bloginfo(\'name\').\'" src="\'.esc_url( $headerimage_options[\'image\'] ).\'"/>\';

endif; 

if ( "" != $headerimage_options[\'image2\'] ) :

$images[] = \'<img title="\'.get_bloginfo(\'name\').\'" src="\'.esc_url( $headerimage_options[\'image2\'] ).\'"/>\';

endif; 

if ( "" != $headerimage_options[\'image3\'] ) :

$images[] = \'<img title="\'.get_bloginfo(\'name\').\'" src="\'.esc_url( $headerimage_options[\'image3\'] ).\'"/>\';

endif; 

$v = array_rand($images);
echo $images[$v];

?>
再次感谢。

结束

相关推荐

自定义POST类型Single-{Custom}.php不起作用

我用机器名special\\u media\\u post定制了一个post类型,wordpress根本看不到single-special\\u media\\u post。php。我完全不知所措。它始终默认为索引。php以下是我的自定义帖子类型及其分类的代码://Post and Taxonomy stuff //Register Custom Post Type function special_media_post() { $labels = array( \