专注国内外云服务器
分享建站技术教程

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

立即购买

阿里云服务器 ¥102元/年 云数据库37.5元/年 限时

个人、企业均可购买 | 更多配置0.8折特惠

吾上云WORDPRESS教程最新“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中有关附件的冰山一角,仍有很多未知领域需要继续探索,期望更多朋友参与讨论或分享您的收获,谢谢。

文章来源于互联网WORDPRESS教程:WordPress: 如何调用单篇文章内的所有图片附件?,
阿里云服务器89元起,点击购买
腾讯云服务器95元/年起 点击购买

相关推荐: WordPress建立个人博客网站用什么虚拟主机比较好?

众所周知,WordPress是使用PHP语言和MySQL数据库开发的CMS系统,跟WordPress搭配最完美的就是Linux系统的虚拟主机,所以我们可以支持PHP和MySQL数据库的虚拟主机来搭建属于自己的WordPress博客网站。目前市面上大多数虚拟主机…

赞(0)
未经允许不得转载:吾上云 » WordPress: 如何调用单篇文章内的所有图片附件?
分享到: 更多 (0)
  • 阿里云
    基础型云服务器

    1核CPU

    2G内存

    40G硬盘

    1M带宽

    独立IP

    分布式存储

    适合企业官网、个人站长类网站

    ¥89/1年 原价¥903.40

  • 阿里云
    超值型云服务器

    2核CPU

    4G内存

    40G硬盘

    3M带宽

    独立IP

    分布式存储

    适合企业官网、行业门户类网站

    ¥899/3年 原价¥8281

  • 阿里云
    高性能云服务器

    2核CPU

    8G内存

    40G硬盘

    5M带宽

    独立IP

    分布式存储

    适合电商、数据库等企业级应用

    ¥1399/3年¥14765

  • 腾讯云
    基础型云服务器

    1核CPU

    2G内存

    50G硬盘

    1M带宽

    独立IP

    分布式存储

    适合企业官网、个人站长类网站

    ¥95/1年 原价¥834

  • 腾讯云
    超值型云服务器

    1核CPU

    2G内存

    50G硬盘

    1M带宽

    独立IP

    分布式存储

    适合企业官网、行业门户类网站

    ¥288/3年 原价¥2502

  • 腾讯云
    高性能云服务器

    4核CPU

    8G内存

    50G硬盘

    5M带宽

    独立IP

    分布式存储

    适合电商、数据库等企业级应用

    ¥2188/3年¥13986

  • 阿里云
    基础型云服务器

    1核CPU

    2G内存

    40G硬盘

    1M带宽

    独立IP

    分布式存储

    适合企业官网、个人站长类网站

    ¥89/1年 原价¥903.40

  • 阿里云
    超值型云服务器

    2核CPU

    4G内存

    40G硬盘

    3M带宽

    独立IP

    分布式存储

    适合企业官网、行业门户类网站

    ¥899/3年 原价¥8281

  • 阿里云
    高性能云服务器

    2核CPU

    8G内存

    40G硬盘

    5M带宽

    独立IP

    分布式存储

    适合电商、数据库等企业级应用

    ¥1399/3年¥14765

  • 腾讯云
    基础型云服务器

    1核CPU

    2G内存

    50G硬盘

    1M带宽

    独立IP

    分布式存储

    适合企业官网、个人站长类网站

    ¥95/1年 原价¥834

  • 腾讯云
    超值型云服务器

    1核CPU

    2G内存

    50G硬盘

    1M带宽

    独立IP

    分布式存储

    适合企业官网、行业门户类网站

    ¥288/3年 原价¥2502

  • 腾讯云
    高性能云服务器

    4核CPU

    8G内存

    50G硬盘

    5M带宽

    独立IP

    分布式存储

    适合电商、数据库等企业级应用

    ¥2188/3年¥13986

评论 抢沙发

评论前必须登录!

 

吾上云 专注服务器选购

购买云服务器联系我们