前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >WordPress自动设置文章缩略图

WordPress自动设置文章缩略图

原创
作者头像
子润先生
修改2021-06-24 10:16:40
1K0
修改2021-06-24 10:16:40
举报
文章被收录于专栏:用户8644135的专栏

经常会在网站首页调用文章的时候,需要有图片一起展示,wordpress本身有缩略图功能,可以通过has_post_thumbnail来判断是否有缩略图, the_post_thumbnail来调用。

但是wordpress的缩略图需要手动设置,并不能自动获取文章内的图片来作为缩略图,通过以下方法完成缩略图自动设置。

自动设置缩略图的逻辑:

  1. 如果设置缩略图,则调用缩略图;
  2. 如果没有设置缩略图,则调用文章内第一张图片为缩略图;
  3. 如果文章内也没有图片,那么则使用默认图片为缩略图。
代码语言:javascript
复制
function dm_the_thumbnail() {
    global $post;
    // 判断该文章是否设置的缩略图,如果有则直接显示
    if ( has_post_thumbnail() ) {
        $img_id = get_post_thumbnail_id();
        $img_url = wp_get_attachment_image_src($img_id);
        $img_url = $img_url[0];
        return $img_url;//这里直接输出特色图片
    } else { //如果文章没有设置缩略图,则查找文章内是否包含图片
        $content = $post->post_content;
        preg_match_all('/<img.*?(?: |\\t|\\r|\\n)?src=[\'"]?(.+?)[\'"]?(?:(?: |\\t|\\r|\\n)+.*?)?>/sim', $content, $strResult, PREG_PATTERN_ORDER);
        $n = count($strResult[1]);
        if($n > 0){ // 如果文章内包含有图片,就用第一张图片做为缩略图
            return $strResult[1][0] ;
        }else { // 如果文章内没有图片,则用默认的图片。
           return  get_stylesheet_directory_uri() . '/imgages/thumb.jpg';  //具体路径根据自己调整
        }
    }
}

将以上文件添加到functions.php文件内,在需要使用缩略图的地方,使用函数 dm_the_thumbnail()即可完成缩略图URL的调用。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
网站建设
网站建设(Website Design Service,WDS),是帮助您快速搭建企业网站的服务。通过自助模板建站工具及专业设计服务,无需了解代码技术,即可自由拖拽模块,可视化完成网站管理。全功能管理后台操作方便,一次更新,数据多端同步,省时省心。使用网站建设服务,您无需维持技术和设计师团队,即可快速实现网站上线,达到企业数字化转型的目的。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档