优站互动 - 专业精品源码下载论坛,优秀的网站模板分享社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 82|回复: 0

wordpress 获取文章内所有图片的方法

[复制链接]
  • TA的每日心情
    擦汗
    2016-7-1 10:43
  • 签到天数: 1 天

    [LV.1]初来乍到

    244

    主题

    248

    帖子

    4万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    42713
    发表于 2016-7-2 10:54:28 | 显示全部楼层 |阅读模式
    在制作wordpress主题过程中,有遇见想要自动获取文章内所有图片的情况,一开始没有思路,后来,想起大前段的xiu主题貌似就拥有这样的功能,经过维维大神的扣扯后,现在大叔拿来分享哈,绝笔可用的嚎!
    将代码插入functions.php
    1. <font face="微软雅黑">function hui_get_thumbnail( $single=true, $must=true ) {
    2.     global $post;
    3.     $html = '';
    4.     if ( has_post_thumbnail() ) {
    5.         $domsxe = simplexml_load_string(get_the_post_thumbnail());
    6.         $src = $domsxe->attributes()->src;

    7.         $src_array = wp_get_attachment_image_src(hui_get_attachment_id_from_src($src), 'thumbnail');
    8.         $html = sprintf('<li><img src="%s" /></li>', $src_array[0]);
    9.     } else {
    10.         $content = $post->post_content;
    11.         preg_match_all('/<img.*?(?: |\\t|\\r|\\n)?src=[\'"]?(.+?)[\'"]?(?:(?: |\\t|\\r|\\n)+.*?)?>/sim', $content, $strResult, PREG_PATTERN_ORDER);
    12.         $images = $strResult[1];

    13.         $counter = count($strResult[1]);

    14.         $i = 0;
    15.         foreach($images as $src){
    16.             $i++;
    17.             $src2 = wp_get_attachment_image_src(hui_get_attachment_id_from_src($src), 'thumbnail');
    18.             $src2 = $src2[0];
    19.             if( !$src2 && true ){
    20.                 $src = $src;
    21.             }else{
    22.                 $src = $src2;
    23.             }

    24.             $item = sprintf('<li><img src="%s" /></li>', $src);
    25.             if( $single){
    26.                 return $item;
    27.                 break;
    28.             }
    29.             $html .= $item;
    30.             if(
    31.                 ($counter >= 4 && $counter < 8 && $i >= 4) ||
    32.                 ($counter >= 8 && $i >= 8) ||
    33.                 ($counter > 0 && $counter < 4 && $i >= $counter)
    34.             ){
    35.                 break;
    36.             }
    37.         }
    38.     }
    39.     return $html;
    40. }

    41. function hui_get_attachment_id_from_src ($link) {
    42.     global $wpdb;
    43.     $link = preg_replace('/-\d+x\d+(?=\.(jpg|jpeg|png|gif)$)/i', '', $link);
    44.     return $wpdb->get_var("SELECT ID FROM {$wpdb->posts} WHERE guid='$link'");
    45. }</font>
    复制代码
    以上代码规则可根据自己实际要求来修改
    前端调用
    1. <font face="微软雅黑"><?php echo hui_get_thumbnail(false,true);?></font>
    复制代码


    快捷导航:√IDC促销信息 | √源码求购/出售 | √域名求购/出售 | √友情链接交换 | √刷优豆专区(限荣誉会员) | √自助开通荣誉会员
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    回帖奖励

    [详情]

  • * 每天自己主题被回复3次可获得额外2金钱奖励。
  • * 每天回复他人主题5次可获得额外3贡献的奖励。
  • * 奖励每天都可领取,一定要多参与论坛讨论哦。
  • * 同一主题的重复回复不计。
  • QQ|小黑屋|免责声明|优站社区  |网站地图  

    GMT+8, 2017-11-25 13:48 , Processed in 1.152610 second(s), 39 queries .

    Powered by Discuz! X3.2 Licensed

    © 2001-2013 Comsenz Inc.

    快速回复 返回顶部 返回列表