列出来自单个帖子元值的所有图像

时间:2012-10-16 作者:souporserious

我已经创建了一个带有图片库上传的自定义帖子类型。现在,我正在尝试在前端显示图库。这是我到目前为止可以显示1个图像的内容,但是如果上载了多个图像,所有URL都会卡在src 标签所以我猜我应该循环遍历这个数组,然后分别吐出每个数组?这是一条要走的路吗?如果是的话,我如何才能做到这一点?

<?php if (have_posts()) :  while (have_posts()) : the_post(); ?>

<?php
echo \'<img src="\'.get_post_meta($post->ID, \'gallery-upload\', true).\'">\';    
?>

<?php endwhile; else: ?>
 <p><?php _e(\'No posts were found. Sorry!\'); ?></p>
<?php endif; ?>
编辑:

这就是我最终得到的结果。。。

<?php
foreach(get_post_meta($post->ID, \'gallery-upload\') as $meta) {
 foreach(explode(\',\', $meta) as $src) {
  echo \'<img src="\'.htmlentities($src).\'">\';
 }
}
?>

2 个回复
SO网友:fuxia

您应该重新组织存储图像的方式:将上载的文件作为该特定帖子的子项,不要将它们放在帖子元字段中。然后使用get_children(). 查看[gallery] 一些示例的快捷代码。

我应该这样说:

$args = array( 
   \'post_mime_type\' => \'image\',
   \'numberposts\'    => -1,
   \'post_parent\'    => get_the_ID(),
   \'post_type\'      => \'attachment\' 
);

$attached_images = get_children( $args );

foreach ( $attached_images as $image )
{
    // print image
}
而且,即使您想保留post元字段,也不要存储URL,而是使用附件ID。URL可以随时更改(请考虑从开发人员迁移到生产站点)。

SO网友:s_ha_dum

所以我猜我应该循环遍历这个数组,然后分别吐出每个数组?这是一条要走的路吗?如果是的话,我如何才能做到这一点?

get_post_meta(...) 应返回没有最后一个参数的数组,或将其设置为false。然后你就会。。。

<?php
$meta = get_post_meta($post->ID, \'gallery-upload\');
foreach ($meta as $m) {
    echo \'<img src="\'.$m.\'">\'; 
} 
?>

结束

相关推荐

images within style sheet

我希望有人能在这方面帮助我,因为这已经开始让我抓狂了。我已经搜索了好几个小时,想找到一种在我的样式表中放置图像路径的方法,但一直没有找到。路径不能是绝对路径或“主题相关”路径。解决问题的唯一方法是在html文件中添加以下内容:<style type=\"text/css\"> #menu .menu-drop .menu-label { background: url(<?php echo get_template_directory_uri().