因此,使用一个新的Wordpress主题,从客户的现有网站导入大量内容,并在其旧主题中将多个图片附加到各自的投资组合页面中。
这些映像都共享相同的自定义字段名: project_photo_photo
我遇到的问题是,在新主题中,如何挽救导入的数据,利用现有的自定义字段名,并在post循环的模板中显示每个帖子的多个项目映像?
下面的代码示例显示了我在显示此内容的过程中取得了多大进展,它只显示一个图像结果,添加同一代码块的倍数只会显示第一个图像的副本:
<?php if ( get_post_meta( get_the_ID(), 'project_photo_photo' ) ) : ?>
<div class="grid_gallery clearfix">
<div class="grid_gallery_inner">
<figure class="gallery_item featured-thumbnail thumbnail single-gallery-item">
<a href="/wp-content/files_mf/<?php echo get_post_meta( get_the_ID(), 'project_photo_photo', true ); ?>" class="image-wrap" rel="prettyPhoto[gallery]">
<img class="project_photo_photo" width="260" src="/wp-content/files_mf/<?php echo get_post_meta( get_the_ID(), 'project_photo_photo', true ); ?>" alt="<?php the_title(); ?>" />
<span class="zoom-icon"></span>
</a>
</figure>
</div>
<!--END .slider -->
</div>
<?php endif; ?>
我觉得我已经接近了,一定有办法优雅地做这件事。如果有人能帮我,我会非常感激的。
发布于 2014-06-19 22:13:03
如果同一个自定义字段有多个条目,则如果尝试,将得到一个数组。
get_post_meta( get_the_ID(), 'project_photo_photo' )
但是,如果使用true
作为最后一个参数,则只能获得第一个值
get_post_meta( get_the_ID(), 'project_photo_photo', true )
。
您可以在这里获得更多信息:meta
这就是为什么你每次都得到一个结果的原因。
另外,您应该只查询一次元字段。您已经查询了3次,这需要DB操作和时间。调用一次,保存变量,并尽可能多地使用。
您将得到一系列的值为您的照片。你需要循环通过才能得到其中每一个。
我已经修改了你的代码,我希望我已经把forloop
放在适当的地方,如果没有,我希望把它放在适当的地方。
<?php $project_photos = get_post_meta( get_the_ID(), 'project_photo_photo' );
if ( $project_photos ) : ?>
<div class="grid_gallery clearfix">
<?php foreach( $project_photos as $project_photo ) { ?>
<div class="grid_gallery_inner">
<figure class="gallery_item featured-thumbnail thumbnail single-gallery-item">
<a href="/wp-content/files_mf/<?php echo $project_photo; ?>" class="image-wrap" rel="prettyPhoto[gallery]">
<img class="project_photo_photo" width="260" src="/wp-content/files_mf/<?php echo $project_photo; ?>" alt="<?php the_title(); ?>" />
<span class="zoom-icon"></span>
</a>
</figure>
</div>
<?php } ?>
<!--END .slider -->
</div>
<?php endif; ?>
https://stackoverflow.com/questions/24318712
复制相似问题