WordPress: 如何调用单篇文章内的所有图片附件?

WordPress如何调用单篇文章里面的所有附件图片

注意:所有图片均是通过后台上传到媒体库中的附件。

方法如下:


原理:一个文章的所有附件,是通过POSTS数据表中的post_parent挂钩的,以及post_type为attachment来标识的;
图片附件的post_mime_type为’image’。

理解这句后,查看下面这段代码:

        /* 获取指定post下的所有图片附件. */          $attachments = get_children(              array(                  'post_parent'      => 指定日志的ID,                  'post_status'      => 'inherit',                  'post_type'        => 'attachment',                  'post_mime_type'   => 'image',                  'order'            => 'ASC',                  'orderby'          => 'menu_order ID',                  'suppress_filters' => true              )          );

接下来的工作就是foreach读出附件的相关信息即可。

问题补充:

比如我的主题是有image.php这个文件。点击一篇文章中的图片即single.php模版进入image.php模版。如何实现image.php调用与之对应的跳转过来的那篇文章的附件图片。之前也有个人也是用get_children教我的。结果进入image.php调用的是之前跳转的那篇文章,所在的分类的所有文章的附件图片。也就是调用了整个分类下的附件。

解决方法:

那可能是没有正确获取当前附件所属的父级日志的ID造成的。

在image.php中,通过get_queried_object_id()获取当前附件的ID

再用wp_get_post_parent_id( $ID )来获取当前附件所属的日志ID。

最后用get_children来获取日志下的所有附件即可。

image.php中的大致代码如下:(不要放在循环内)

  $current_image_id = get_queried_object_id();      $parent_id = wp_get_post_parent_id( $current_image_id );              /* 获取指定post下的所有图片附件. */              $attachments = get_children(                  array(                      'post_parent'      => (array)$parent_id,                      'post_status'      => 'inherit',                      'post_type'        => 'attachment',                      'post_mime_type'   => 'image',                      'order'            => 'ASC',                      'orderby'          => 'menu_order ID',                      'suppress_filters' => true                  )              );          if ( count( $attachments ) ) {              foreach( .... ){}          }

这只是WordPress中有关附件的冰山一角,仍有很多未知领域需要继续探索,期望更多朋友参与讨论或分享您的收获,谢谢。


版权免责声明

本资源仅用于个人学习测试使用,禁止用于任何商业环境,请于下载后24小时内删除本资源!

本文所有相关技术/资源内容统一放在下载包里

  1. 1、本网站名称:源码社
  2. 2、本站永久网址:https://www.nicedowns.com
  3. 3、站内所有资源均可通过日常签到等任务进行免费兑换,记得每日来本站签到哦~!。、
  4. 4、如果您觉得本站有帮助到您,也想给本站一些帮助。您可以再下方打赏本站。
  5. 5、本站资源来源于互联网收集/个人购买,如有侵犯到您的权益,请查看【版权声明】
  6. 6、本站提供的所有资源均来自互联网搜索,站内资源为网友个人学习或测试研究使用,未经原版权作者许可,禁止用于任何商业环境,任何人不得擅作它用,否则后果自负!请在下载24小时内删除!为尊重作者版权,请购买原版作品,支持你喜欢的作者,谢谢!
  7. 7、本站资源大多存储在云盘,如发现链接失效 【链接失效】 我们会第一时间更新。本站提供的源码、模板、软件工具等其他资源,都不包含技术服务 请大家谅解!

人已赞赏
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
有新消息 消息中心
搜索