一个不错的WordPress缩略图判断调用函数收藏

今天麦子看到知更鸟主题有一个缺陷,他在文章中调用其他文章的时候,缩略图只是获取到文章第一个图片。其实这样是不友好的,正确的逻辑应该是先判断是否有用户自定义的缩略图,因为自定义的缩略图从尺寸和样式是友好设置的。然后再去判断文章中的插图,或者设置默认的。

问过作者被漠视,于是准备自己修改一下,这里找到一个不错的判断缩略图的调用方法,确实想的和我上面一样周到。

/*
    * WordPress获取缩略图thumbnail调取最佳策略实践
    文章:https://www.zmki.cn/5288.html
    项目基于:https://www.cnblogs.com/bojuetech/p/4891470.html
    */
    // 缩略图开始
    if ( has_post_thumbnail() )
    the_post_thumbnail( 'thumbnail' );
    function dm_the_thumbnail() {
    global $post;
    // 判断该文章是否设置的缩略图,如果有则直接显示
    if ( has_post_thumbnail() ) {
    echo the_post_thumbnail();//这里直接输出特色图片
    } 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){ // 如果文章内包含有图片,就用第一张图片做为缩略图
    echo $strResult[1][0] ;
    }else { // 如果文章内没有图片,则用默认的图片。
    echo get_stylesheet_directory_uri() . '/img/thumb.png'; //具体路径根据自己调整
    }
    }
    }
    // 缩略图结束

这个就是先考虑是否有自定义缩略图,然后再从文章中获取,或者文章中也没有就用一个默认的替代。

这个可以修改一下知更鸟主题的缩略图获取方式然后使用这个。

投票 post
© 版权声明
THE END
喜欢就支持一下吧
点赞5 分享