WordPress文章缩略图

admin wordpress评论651字数 1391阅读模式
摘要

好的文章需要一个配图,不仅仅是为文章增加可读性,也为网站的可用性和外观增色。很多人写博客的时候不怎么注重文章配图,更不用说添加推荐图片了。本文将给你一个更好的Wordpress文章缩略图解决方案。
WordPress文章缩略图的显示思路如下:

1.首先是文章的自定义字段“thumbnail”,如果有,则输出这个值
2.接着是文章的手动添加推荐图片,即特色缩略图,如果有,则输出缩略图地址
3.如果以上都找不到,那么使用正则寻找正文的所有内容,发现img标签时,则获取第一个匹配的图片地址
4.最后是上面都找不到图片,则使用随机数输出指定的图片,或者也可以干脆什么都不输出。
代码如下:

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

在调用的时候,则可以跟平常一样,以上这个函数只是输出图片的地址。在需要缩略图的地方使用下面代码:

  1. <img src="<?php post_thumbnail_src(); ?>" alt="<?php the_title(); ?>"/>  

当然,如果你只需要显示有特色图片的文章缩略图,则可以使用Wordpress默认的缩略图代码:

  1. <?php if ( has_post_thumbnail()) : ?>  
  2. <?php the_post_thumbnail( 'caibaojian-featured', array( 'class' => 'single-featured' )); ?>  
  3. <?php endif; ?>  

版权声明:文章图片资源来源于网络,如有侵权,请留言删除!!!
广告也精彩
admin
  • 本文由 发表于 2021年9月27日 10:34:03
  • 转载请务必保留本文链接:https://www.58pxe.com/7698.html
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: