首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否仅在图库中显示图像/附件?

是否仅在图库中显示图像/附件?
EN

Stack Overflow用户
提问于 2013-02-07 18:42:33
回答 1查看 262关注 0票数 0

当我创建一个页面,添加一个图库,并在前端浏览这个图库时,它将浏览与该页面关联的所有附件,而不仅仅是该图库中的图像。有没有办法过滤所有其他附件,只显示某个图库中的图像?因此,例如,当我删除图库并在同一页面上添加新图库时,只显示新的图库?

有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-08 17:11:23

这可能不是最优雅的方式,但我发现它非常有用。

将帖子ID传递给下面的函数将从该帖子的post_content加载一个图库。所以你可以创建一个图库并将其插入到你的帖子内容中,然后在模板中运行这个函数,并返回一个图库中的附件数组,你可以自由地使用任何东西,即幻灯片和类似的东西。

代码语言:javascript
复制
function wp_load_gallery($post_id) {
  $post = get_post( $post_id );
  $regx = '/' . get_shortcode_regex() . '/';
  preg_match( $regx, $post->post_content, $matches );
  $ids = shortcode_parse_atts( $matches[3] );

  $gallery = array( );
  foreach( explode( ',', $ids['ids'] ) as $id ) {
    if($id) {
      $gallery[] = get_post( $id );
    }
  } 

  return $gallery;
}

请注意,快捷码不是从内容中剪切出来的,所以当您显示内容时,您应该通过strip_shortcodes函数运行它,即:

代码语言:javascript
复制
echo strip_shortcodes( get_the_content() );

这样你就可以随时用你想要的东西更新图库。

编辑:

要简单地显示所有图像:

代码语言:javascript
复制
$gallery = wp_load_gallery($YOUR_POST_ID);
foreach($gallery as $image) {
  echo wp_get_attachment_image($image->ID);
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14749133

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档