1. David Wu首页
  2. WordPress
  3. WordPress安装教程

WordPress 获取文章内图片的数量及文章中第一张图片的地址-WordPress开发教程

这个小功能应该是非常常见的了,特别是在一些图片展示站,向用户展示每篇文章内图片的数量是很有必要的。 另外,又因为现在用手机浏览的人越来越多,如果用户在移动数据

WordPress获取文章内图片的数量及文章中第一张图片的地址 wordpress

这个小功能应该是非常常见的了,特别是在一些图片展示站,向用户展示每篇文章内图片的数量是很有必要的。

另外,又因为现在用手机浏览的人越来越多,如果用户在移动数据的情况下不小心点进一篇图片特别多的文章…..

这个功能实现起来也非常简单,只需要使用正则匹配一下文章内容中所有 img 标签即可,匹配成功后直接返回图片的数量,然后将图片数量展示在文章列表即可。

直接上代码先,将以下代码插入 functions.php 中:

/**
* WordPress获取文章内图片的数量及文章中第一张图片的地址 - 龙笑天下
* https://www.ilxtx.com/wordpress-post-images-numbers.html
*/
function lxtx_post_images_nums($postid=0,$which=0){
    $content = get_post($postid)->post_content;  
    preg_match_all('/<img.*?(?: |\\t|\\r|\\n)?src=[\'"]?(.+?)[\'"]?(?:(?: |\\t|\\r|\\n)+.*?)?>/sim', $content, $strResult, PREG_PATTERN_ORDER);
    if( $which==0 ){
        $output = ( $strResult && isset($strResult[1]) )?count($strResult[1]):0;
    }else if( $which==1 ){
        // 没图时返回默认图片
        $img_url = get_stylesheet_directory_uri().'/images/default.jpg';
        // 没图时返回随机图片,则取消下面2行注释,并在主题根目录images中创建random文件夹,再在random文件夹中放置10张jpg格式的图片且命名为1、2、...、10
        // $random = mt_rand(1, 10);
        // $img_url = get_stylesheet_directory_uri().'/images/random/'.$random.'.jpg';
        $output = ( $strResult && !empty($strResult[1]) && !empty($strResult[1][0]) ) ? $strResult[1][0] : $img_url;
    }
    return $output;  
}

—- 改自君子不器

调用方法也很简单,如下,传入文章 ID,然后该函数将返回改篇文章内的图片总数,最后在相关位置展示即可:

<?php echo lxtx_post_images_nums($post->ID); ?>

当然,也可以获取某篇文章中第一张图片(支持外链图片)的链接地址;若文章中不存在图片的话,则返回一张默认图片地址或随机图片地址,调用方法如下:

<?php echo lxtx_post_images_nums($post->ID,1); ?>

最后值得指出的是本代码还可以继续延伸,用于获取文章中所有图片的链接地址,自行动手改造吧,骚年!至于这个有啥作用,就自己思考了~

原创文章,作者:DavidWu,如若转载,请注明出处:https://www.davidwu.net/archives/121854

服务项目 服务内容 收费标准(元)
开发定制 WordPress主题/插件开发定制 (以最终需求为准)
主题/插件汉化 汉化团队WordPress主题/插件,翻译率95% (以标的主题/插件的句子数量为准)
服务器环境配置 基于您现有服务器,搭建配置网站运行环境,结合我们多年来实战经验,可完美支持WordPress等PHP程序运行,并配置伪静态规则、优化目录权限等问题。服务器我们强烈推荐使用Linux系统。 100元/次
网站托管 若贵站目前尚无技术人员,无法完成服务器环境配置,可选择我们的网站托管服务,直接交付正常运行的WordPress站点,并且无需担心服务器的后续维护工作,一切都由我们来帮您完成。 标配套餐:1000元/年/站点 高配套餐:联系客服获取
网站加速优化 从服务器后端配置优化到WordPress数据库缓存、前端页面缓存、JS和CSS压缩合并,全方位优化网站加载速度,实现秒开。(此服务仅针对(云)服务器/VPS) 500元/次(仅站内优化200元/次)
主题配置 本站所有主题均支持,可快速实现,若有任何问题可以咨询客服解决,若您希望我们提供配置服务,可选购此服务。 英文主题安装 60元/次 汉化主题安装 30元/次
HTTPS配置 HTTPS已经不断普及,并且有着更高的安全性以及SEO上的优待。该服务收取的为服务费,SSL证书产生的费用请自行承担。 100元/次
网站搬家 迁移网站所有文件和数据库信息、网站相关配置的调整、以及迁移中的疑难问题故障排除。 标准收费:500元/次 若网站数据量大,需协商
网站运维 提供整站的运维服务,保证网站正常运行。包含:网站故障定位及排除、网站数据备份和恢复、网站攻击及木马等问题的处理等 标准收费:2000元/年 IP 5000以上需协商

发表评论

电子邮件地址不会被公开。 必填项已用*标注