【发布时间】:2018-03-30 17:34:32
【问题描述】:
我试图在 wordpress 中创建一个用于拇指旋转的函数我得到了一切正常但我堆栈在我的 js 文件中所需的唯一 id 上。
所以这是我的 php 函数,但它不会随机显示不同的 id,它对所有创建的缩略图始终显示相同的 id。
function thumb_rotation(){
global $post;
$uniqueID = 'thumb_';
$characters = array_merge(range('a','z'), range('0','9'));
for ($i = 0; $i < 6; $i++) {
$rand = mt_rand(0, count($characters)-1);
$uniqueID .= $characters[$rand];
}
$images = get_post_meta( $post->ID, 'image_rotator', true );
$size = 'thumb-video';
if( $images ):
foreach( $images as $image ):
echo '<span class="mb">';
echo wp_get_attachment_image($image, $size, false, array('title' => '', 'alt' => '', 'class' => 'mvThumb', 'id' => $uniqueID));
echo '</span>';
endforeach;
endif;
}
知道我在这里做错了什么吗? 谢谢!
【问题讨论】:
-
是否必须是int,如果不是可以使用
uniqid($prefix, $entropy)。尽管php.net/manual/en/function.uniqid.php 不是 100% 的受让人唯一性,但mt_rand也不是,这与现在的rand相同(PHP v7.1) -
我在 localhot 有 7.0 并且可以工作,但我不确定 7.1 谢谢我会试试的
-
我在本地有 5.3+(5.3、5.4、5.5、5.6、7、7.1、7.2),但我也有 5 个浏览器,Firefox、Chrome、IE、Edge、Safari,但我也有 Mysql、MongoDB、Cassandra、Sphinx、MSSQL、bla bla... MariaDB。也不要忘记 PHP、Python、Pearl、.Net、Java。伙计,我有很多东西。对不起。
-
我更改了 mt_rand ro rand,因为你建议它也可以工作,但我要为相同的代码打开一个新主题,因为我无法弄清楚。
-
您已经有了自己的唯一 ID,
$image看起来这应该是来自 worpress 数据库的图像 ID。function wp_get_attachment_image($attachment_id, ...)所以我要做的就是取那个数字,然后添加"image_{$image)"Javascript ID 不能/不应该以数字开头。所以这就像image_407、image_679等。基于图像的主键。