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

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

  1. //自动获取内容图作为缩略图
  2. if ( function_exists('add_theme_support') )add_theme_support('post-thumbnails');
  3. function post_thumbnail_src(){
  4. global $post;
  5. if( $values = get_post_custom_values("thumb") ) { //输出自定义域图片地址
  6. $values = get_post_custom_values("thumb");
  7. $post_thumbnail_src = $values [0];
  8. } elseif( has_post_thumbnail() ){ //如果有特色缩略图,则输出缩略图地址
  9. $thumbnail_src = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID),'full');
  10. $post_thumbnail_src = $thumbnail_src [0];
  11. } else {
  12. $post_thumbnail_src = '';
  13. ob_start();
  14. ob_end_clean();
  15. $output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches);
  16. $post_thumbnail_src = $matches [1] [0]; //获取该图片 src
  17. if(empty($post_thumbnail_src)){ //如果日志中没有图片,则显示随机图片
  18. $random = mt_rand(1, 10);
  19. echo get_bloginfo('template_url');
  20. echo '/images/'.$random.'.jpg';
  21. }
  22. };
  23. echo $post_thumbnail_src;
  24. }

 

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

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

  1. <?php echo post_thumbnail_src();?>

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

本文参考:https://www.zhujipingjia.com/wpauto-thumb.html

posted on 2024-10-15 21:21  itbulu  阅读(61)  评论(0)    收藏  举报

导航