WordPress无插件自动获取内容图作为缩略图和默认缩略图

WordPress 有些主题是不带缩略图功能的,我们可以通过自定义设置获取文章中的图片来设置缩略图。

//自动缩略图 https://www.cnwper.com/wpauto-thumb.html
if ( function_exists('add_theme_support') )add_theme_support('post-thumbnails');
 
//输出缩略图地址 
function auto_thumbnail_src(){
    global $post;
	if( $values = get_post_custom_values("thumb") ) {	//输出自定义域图片地址
		$values = get_post_custom_values("thumb");
		$post_thumbnail_src = $values [0];
	} elseif( has_post_thumbnail() ){    //如果有特色缩略图,则输出缩略图地址
        $thumbnail_src = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID),'full');
		$auto_thumbnail_src = $thumbnail_src [0];
    } else {
		$auto_thumbnail_src = '';
		ob_start();
		ob_end_clean();
		$output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches);
		$auto_thumbnail_src = $matches [1] [0];   //获取该图片 src
		if(empty($auto_thumbnail_src)){	//如果日志中没有图片,则显示随机图片
			$random = mt_rand(1, 10);
			echo get_bloginfo('template_url');
			//echo '/images/'.$random.'.jpg';
			//如果日志中没有图片,则显示默认图片
			echo '/images/img/error.png';
		}
	};
	echo $auto_thumbnail_src;
}

我们也需要在images文件夹里放几个jpg的图片作为备用,如果内容中没有图片可以自动获取随机。

<?php echo auto_thumbnail_src();?>

需要输出的位置调用缩略图。

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