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

老乐 优化维护2字数 914阅读3分2秒阅读模式

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

这里找到一个不错的判断缩略图的调用方法,确实想的和我上面一样周到。

/*
* 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'; //具体路径根据自己调整
}
}
}
// 缩略图结束

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

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

投上你的一票
 
  • 本文由 老乐 发表于 2024年12月25日 11:04:16
  • 转载请务必保留本文链接:https://www.zhujipingjia.com/wpthumb-if.html