如何获取文章中第一张图片并显示图片

2024-01-07 14:50

本文主要是介绍如何获取文章中第一张图片并显示图片,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在写wordpress模板的时候,一般为了布局合理而且显示的较为美观,作者会考虑加入此项功能:获取wordpress文章中的第一张图片并显示出来。有些wordpress模板加入了缩略图功能,有些设置特色图片,虽然方法不同,但效果一样。比如暗淡的黑IT网络现用主题wpdaxue,采取第三方文件timthumb.php来获取缩略图,效果如下图。下面暗淡的黑在这提供两种代码方法实现wordpress取文章中第一张图片功能。

wordpress教程:如何获取文章中第一张图片并显示图片

实现方法

此文代码预留地址:https://gist.github.com/andandehei/8928266

方法1.无视任何设置,直接获取文章中第一张图片并显示;如果文章无图片,获取自定义图片并显示。

此方法翻译自http://www.wprecipes.com/how-to-get-the-first-image-from-the-post-and-display-it

①将以下代码粘贴到functions.php文件中。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
function catch_that_image ( )  {
global  $post ,  $posts ;
$first_img  =  '' ;
ob_start ( ) ;
ob_end_clean ( ) ;
$output  =  preg_match_all ( '/<img.+src=[\'"]([^\'"]+)[\'"].*>/i' ,  $post -> post_content ,  $matches ) ;
 
//获取文章中第一张图片的路径并输出
$first_img  =  $matches  [ 1 ]  [ 0 ] ;
 
//如果文章无图片,获取自定义图片
 
if ( empty ( $first_img ) ) {  //Defines a default image
$first_img  =  "/images/default.jpg" ;
 
//请自行设置一张default.jpg图片
}
 
return  $first_img ;
}

②在需要显示图片的地方输出图片:

1
<?php  echo catch_that_image ( )  ?>

方法2.如果我们手动设置了特色图像,而且文章中又有图片,那该如何显示呢?我们自此可以使用逻辑判断,给他们一个优先条件。此方法网上代码重复太多,已经不知道原创是谁了...

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
function catch_that_image (  $id  )  {
// global $post, $posts;
$first_img  =  '' ;
 
// 如果设置了缩略图
$post_thumbnail_id  = get_post_thumbnail_id (  $id  ) ;
if  (  $post_thumbnail_id  )  {
     $output  = wp_get_attachment_image_src (  $post_thumbnail_id ,  'large'  ) ;
     $first_img  =  $output [ 0 ] ;
}
else  {  // 没有缩略图,查找文章中的第一幅图片
     ob_start ( ) ;
     ob_end_clean ( ) ;
     $output  =  preg_match_all ( '/<img.+src=[\'"]([^\'"]+)[\'"].*>/i' ,  $post -> post_content ,  $matches ) ;
     $first_img  =  $matches  [ 1 ]  [ 0 ] ;
 
     if ( empty ( $first_img ) ) {  // 既没有缩略图,文中也没有图,设置一幅默认的图片
         $first_img  =  "/images/default.jpg" ;
     }
}
 
return  $first_img ;
}

这篇关于如何获取文章中第一张图片并显示图片的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/580276

相关文章

Python实现精准提取 PDF中的文本,表格与图片

《Python实现精准提取PDF中的文本,表格与图片》在实际的系统开发中,处理PDF文件不仅限于读取整页文本,还有提取文档中的表格数据,图片或特定区域的内容,下面我们来看看如何使用Python实... 目录安装 python 库提取 PDF 文本内容:获取整页文本与指定区域内容获取页面上的所有文本内容获取

SpringBoot服务获取Pod当前IP的两种方案

《SpringBoot服务获取Pod当前IP的两种方案》在Kubernetes集群中,SpringBoot服务获取Pod当前IP的方案主要有两种,通过环境变量注入或通过Java代码动态获取网络接口IP... 目录方案一:通过 Kubernetes Downward API 注入环境变量原理步骤方案二:通过

Python基于微信OCR引擎实现高效图片文字识别

《Python基于微信OCR引擎实现高效图片文字识别》这篇文章主要为大家详细介绍了一款基于微信OCR引擎的图片文字识别桌面应用开发全过程,可以实现从图片拖拽识别到文字提取,感兴趣的小伙伴可以跟随小编一... 目录一、项目概述1.1 开发背景1.2 技术选型1.3 核心优势二、功能详解2.1 核心功能模块2.

Go语言如何判断两张图片的相似度

《Go语言如何判断两张图片的相似度》这篇文章主要为大家详细介绍了Go语言如何中实现判断两张图片的相似度的两种方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 在介绍技术细节前,我们先来看看图片对比在哪些场景下可以用得到:图片去重:自动删除重复图片,为存储空间"瘦身"。想象你是一个

使用Python实现base64字符串与图片互转的详细步骤

《使用Python实现base64字符串与图片互转的详细步骤》要将一个Base64编码的字符串转换为图片文件并保存下来,可以使用Python的base64模块来实现,这一过程包括解码Base64字符串... 目录1. 图片编码为 Base64 字符串2. Base64 字符串解码为图片文件3. 示例使用注意

使用Python实现获取屏幕像素颜色值

《使用Python实现获取屏幕像素颜色值》这篇文章主要为大家详细介绍了如何使用Python实现获取屏幕像素颜色值,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 一、一个小工具,按住F10键,颜色值会跟着显示。完整代码import tkinter as tkimport pyau

RedisTemplate默认序列化方式显示中文乱码的解决

《RedisTemplate默认序列化方式显示中文乱码的解决》本文主要介绍了SpringDataRedis默认使用JdkSerializationRedisSerializer导致数据乱码,文中通过示... 目录1. 问题原因2. 解决方案3. 配置类示例4. 配置说明5. 使用示例6. 验证存储结果7.

python获取cmd环境变量值的实现代码

《python获取cmd环境变量值的实现代码》:本文主要介绍在Python中获取命令行(cmd)环境变量的值,可以使用标准库中的os模块,需要的朋友可以参考下... 前言全局说明在执行py过程中,总要使用到系统环境变量一、说明1.1 环境:Windows 11 家庭版 24H2 26100.4061

c/c++的opencv实现图片膨胀

《c/c++的opencv实现图片膨胀》图像膨胀是形态学操作,通过结构元素扩张亮区填充孔洞、连接断开部分、加粗物体,OpenCV的cv::dilate函数实现该操作,本文就来介绍一下opencv图片... 目录什么是图像膨胀?结构元素 (KerChina编程nel)OpenCV 中的 cv::dilate() 函

使用Python获取JS加载的数据的多种实现方法

《使用Python获取JS加载的数据的多种实现方法》在当今的互联网时代,网页数据的动态加载已经成为一种常见的技术手段,许多现代网站通过JavaScript(JS)动态加载内容,这使得传统的静态网页爬取... 目录引言一、动态 网页与js加载数据的原理二、python爬取JS加载数据的方法(一)分析网络请求1