WordPress 如何调用文章页的第一张图片?接下来我们就研究一下WordPress的自动缩略图解决方案。
判断该文章是否设置的缩略图,如果有则直接显示,否则查找文章内是否包含图片,如果文章内包含有图片,就用第一张图片做为缩略图。
1、在主题的function.php中添加如下代码:
//WordPress文章缩略图调用 add_theme_support( 'post-thumbnails' ); set_post_thumbnail_size( 200, 140 ,true ); function don_the_thumbnail() { global $post; // 判断该文章是否设置的缩略图,如果有则直接显示 if ( has_post_thumbnail() ) { echo '<a href="'.get_permalink().'">'; the_post_thumbnail(); echo '</a>'; } 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 '<a href="'.get_permalink().'"><img src="'.$strResult[1][0].'" /></a>'; }else { // 如果文章内没有图片,则用默认的图片。 echo '<a href="'.get_permalink().'"><img src="'.get_bloginfo('template_url').'/img/thumbnail.jpg" /></a>'; } } }
2、在需要调用文章缩略图的地方添加调用代码即可:
<img src="<?php echo catch_that_image() ?>"/>
举一反三,该方法可以用在热门文章以及相关文章等多处。
" />