WordPress实现自动获取文章插图作为缩略图

老乐 优化维护3字数 1020阅读3分24秒阅读模式

我们有些时候在自己设计WordPress主题的时候需要设置缩略图内容框架,或者有些主题没有自带缩略图我们需要二次开发。这里可以通过这样的代码二次开发实现获取内容的插图作为缩略图。

    //自动获取内容图作为缩略图
    if ( function_exists('add_theme_support') )add_theme_support('post-thumbnails');
    function post_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');
    		$post_thumbnail_src = $thumbnail_src [0];
        } else {
    		$post_thumbnail_src = '';
    		ob_start();
    		ob_end_clean();
    		$output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches);
    		$post_thumbnail_src = $matches [1] [0];   //获取该图片 src
    		if(empty($post_thumbnail_src)){	//如果日志中没有图片,则显示随机图片
    			$random = mt_rand(1, 10);
    			echo get_bloginfo('template_url');
    			echo '/images/'.$random.'.jpg';
    		}
    	};
    	echo $post_thumbnail_src;
    }

我们默认可以设置1-10.jpg图片的名称文件丢到 /images/中随机获取。如果我们内容中没有图,则自动获取1-10的其中一张作为缩略图。

如果我们内容中有特色图,则获取特色图作为缩略图。

    <?php echo post_thumbnail_src();?>

代码添加到需要显示缩略图的模板对应文件中。

投上你的一票
 
  • 本文由 老乐 发表于 2024年10月15日 06:18:10
  • 转载请务必保留本文链接:https://www.zhujipingjia.com/wpauto-thumb.html
  • WordPress获取缩略图