WordPress从文章中获取第一张图片作为缩略图
假设您想使用WordPress 的缩略图功能,但有一个完整的文章需要花费太多时间才能完成。对于新文章,可以是特定的,并按预期使用该功能。对于旧文章,只想使用它在内容中找到第一个图像作为缩略图的,或者如果不存在则使用默认图。
将其添加到functions.php或制作功能插件:
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)) {
$first_img = "/path/to/default.png";
}
return $first_img;
}
前端循环输出代码
if ( get_the_post_thumbnail($post_id) != '' ) {
echo '<a href="'; the_permalink(); echo '" class="thumbnail-wrapper">';
the_post_thumbnail();
echo '</a>';
} else {
echo '<a href="'; the_permalink(); echo '" class="thumbnail-wrapper">';
echo '<img src="';
echo catch_that_image();
echo '" alt="" />';
echo '</a>';
}

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
2020年Java基础高频面试题汇总(1.4W字详细解析)
1、 Java语言有哪些特点 (1)简单易学、有丰富的类库(2)面向对象(Java最重要的特性,让程序耦合度更低,内聚性更高)(3)与平台无关性(JVM是Java跨平台使用的根本)(4)可靠安全(5)支持多线程 2、面向对象和面向过程的区别 面向过程:是分析解决问题的步骤,然后用函数把这些步骤一步一步地实现,然后在使用的时候一一调用则可。性能较高,所以单片机、嵌入式开发等一般采用面向过程开发面向对象:是把构成问题的事务分解成各个对象,而建立对象的目的也不是为了完成一个个步骤,而是为了描述某个事物在解决整个问题的过程中所发生的行为。面向对象有封装、继承、多态的特性,所以易维护、易复用、易扩展。可以设计出低耦合的系统。 但是性能上来说,比面向过程要低。 3 、八种基本数据类型的大小,以及他们的封装类基本类型 大小(字节) 默认值 封装类 注:1.int是基本数据类型,Integer是int的封装类,是引用类型。int默认值是0,而Integer默认值是null,所以Integer能区分出0和null的情况。一旦java看到null,就知道这个引用还没有指向某个对象,2.基本数据类型在声明时...
-
下一篇
纯代码为wordpress文章添加标签无需插件实现
每当我们写文章的时候,都需要手动给 WordPress 文章添加标签,这样既能给访问者明确这篇文章的重点,也能够给网站的 SEO 带来很多好处。但是,每次都需要手动的添加耗费精力,那么,有没有可能实现自动为新文章添加标签的功能呢? 目前市面上没有一款完整的插件,我们只能够通过添加代码的方式添加。 首先打开主题的 function.php 文件将以下代码粘贴到 function.php 中 // WordPress 自动为文章添加已使用过的标签 function array2object($array) { // 数组转对象 if (is_array($array)) { $obj = new StdClass(); foreach ($array as $key => $val){ $obj->$key = $val; } } else { $obj = $array; } return $obj; } function object2array($object) { // 对象转数组 if (is_object($object)) { foreach ($object a...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- MySQL数据库在高并发下的优化方案
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS8编译安装MySQL8.0.19
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- MySQL8.0.19开启GTID主从同步CentOS8
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- Dcoker安装(在线仓库),最新的服务器搭配容器使用
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- Docker容器配置,解决镜像无法拉取问题