PHP函数获取数组中最后插入的数据
我知道你们会说这可能会复制到 但我已经尝试了,但没有成功地让我的功能工作,我正在试图找出原因 我有一个函数,可以从Wordpress帖子的内容中抓取缩略图附件 代码可以很好地处理只有一个图像的帖子,但是如果帖子中有多个图像,它将正确显示PHP函数获取数组中最后插入的数据,php,function,Php,Function,我知道你们会说这可能会复制到 但我已经尝试了,但没有成功地让我的功能工作,我正在试图找出原因 我有一个函数,可以从Wordpress帖子的内容中抓取缩略图附件 代码可以很好地处理只有一个图像的帖子,但是如果帖子中有多个图像,它将正确显示数组中的第一个图像,但我不知道为什么它会反向存储图像。表示最后存储的post的第一个图像和最后存储的第一个图像。我想这可能就是Wordpress的媒体功能的工作原理 无论如何,我只需要从函数中获取最后插入的数据,即使它在数组中存储了一个或多个图像 // Get I
数组中的第一个图像,但我不知道为什么它会反向存储图像。表示最后存储的post的第一个图像和最后存储的第一个图像。我想这可能就是Wordpress的媒体
功能的工作原理
无论如何,我只需要从函数中获取最后插入的数据,即使它在数组中存储了一个或多个图像
// Get Image Attachments
function sa_get_image($postid=0, $size='thumbnail') {
if ($postid<1)
$postid = get_the_ID();
$thumb = get_post_meta($postid, "thumb", TRUE);
if ($thumb != null or $thumb != '') {
echo $thumb;
}
elseif ($images = get_children(array(
'post_parent' => $postid,
'post_type' => 'attachment',
'numberposts' => '1',
'post_mime_type' => 'image', )))
foreach($images as $image) {
$thumbnail=wp_get_attachment_image_src($image->ID, $size);
?>
<?php echo $thumbnail[0]; ?> // here is the problem where the image display.
<?php }
}
//获取图像附件
函数sau get_image($postid=0,$size='thumbnail'){
如果($postid$postid),
“post_类型”=>“附件”,
'numberposts'=>'1',
“post_mime_type'=>“image',))
foreach($images作为$image){
$thumbnail=wp\u get\u attachment\u image\u src($image->ID,$size);
?>
//这里是图像显示的问题。
您正在以数组的形式访问$thumbnail,但您正在覆盖foreach()中的变量,就像它是一个字符串一样
更改:
$thumbnail=wp_get_attachment_image_src($image->ID, $size);
到
要使它成为一个数组,那么剩下的代码应该可以工作
啊变化:
$thumbnail=wp\u get\u attachment\u image\u src($image->ID,$size);
致:
$thumbnail[]=wp\u get\u attachment\u image\u src($image->ID,$size);
不要忘记在for each外部声明$thumbnail=array()
然后您可以使用(首选):
echo end($thumbnail);
或者类似于:
echo$thumbnail[计数($thumbnail)-1];
如果您不想获得“最后一个”附加值。
或者您可以使用[0]
或first()
获取第一个值
您可以将其添加到此处(例如):
$thumb=get\u post\u meta($posted,“thumb”,TRUE);
$thumbnail=array();//我的解决方案有一个更简单的方法,下面是如何从数组中获取最后一个
只需将其添加到阵列区域即可
'orderby' => 'menu_order',
'order' => 'ASC', //If reverse use DESC
在你的帖子中,reserve这个词应该是反向的?该死的!很抱歉我现在要编辑它:dw我可以在哪里声明$thumbnail=array()
?@Daan Timmer这已经是我完成的函数了,正如我前面提到的,如果不尝试获取最后一个索引,它会工作得很好,所以我假设这只是逻辑上的一些问题?不被接受?您显然是在某处调用您的函数。因此,与此函数交互的不是您的完整代码/方法很抱歉,我尝试了你的解决方案,但它不起作用。这是我的全部代码,当我问他们有一个数组(你可以看看我的代码),它实际上控制着顺序。print_r()wp_get_attachment_image()的输出我对php不是很在行,你是这样做的吗?print_r($wp_get_attachment_image())
您也需要将值传递到print\r(wp\u get\u attachment\u image\u src($image->ID,$size));但我仍然看不到任何内容:/
$thumb = get_post_meta($postid, "thumb", TRUE);
$thumbnail = array(); //<<<
if ($thumb != null or $thumb != '') {
'orderby' => 'menu_order',
'order' => 'ASC', //If reverse use DESC