首页 > Wordpress > WordPress缩略图支持URL外链
2014
04-15

WordPress缩略图支持URL外链

WordPress缩略图支持URL外链 - 第1张  | 最后的面包
最近在帮朋友AJ桑_憨土豆定制的WordPress主题,想让缩略图支持URL外链引用图片(又拍图片管家不提供又拍云那样的API服务,得手动添加,需要这个功能),简单的记录在这里:

支持手动上传缩略图
支持缩略图外链引用
如果文章内包含有图片,就用第一张图片做为缩略图
如果文章内没有图片,则用默认的图片
其实就是用WP提供的自定义栏目功能来解决,

  1. $postImageUrl = get_post_meta($post->ID, ‘thumbnail’, true); //设置自定义栏目名为“thumbnail”

1.在functions.php文件中添加

  1. //缩略图获取
  2. add_theme_support( ‘post-thumbnails’ );
  3. set_post_thumbnail_size( 262114 ,true );//设置缩略图的尺寸
  4. function dm_the_thumbnail() {
  5. global $post;
  6. $postImageUrl = get_post_meta($post->ID, ‘thumbnail’, true); //设置自定义栏目名为“thumbnail”
  7. // 判断该文章是否设置有缩略图,如果有则直接显示
  8. if ( has_post_thumbnail() ) {
  9. echo ‘<span class=“work-thumbnail”>’;
  10. the_post_thumbnail();
  11. echo ‘</span>’;
  12. } elseif ($postImageUrl) {
  13. echo ‘<span class=“work-thumbnail”><img alt=“” src=“‘.$postImageUrl.'” /></span>’;
  14. else { //如果文章没有设置缩略图,则查找文章内是否包含图片
  15. $content = $post-&gt;post_content;
  16. preg_match_all(‘/&lt;img.*?(?: |\\t|\\r|\\n)?src=[\’“]?(.+?)[\'”]?(?:(?: |\\t|\\r|\\n)+.*?)?&gt;/sim’, $content, $strResult, PREG_PATTERN_ORDER);
  17. $n = count($strResult[1]);
  18. if($n &gt; 0){ // 如果文章内包含有图片,就用第一张图片做为缩略图
  19. echo ‘<span class=“work-thumbnail”><img alt=“” src=“‘.$strResult[1][0].'” /></span>’;
  20. }else { // 如果文章内没有图片,则用默认的图片
  21. echo ‘<span class=“work-thumbnail”><img alt=“” src=“‘.get_bloginfo(‘template_url’).’/images/thumbnail.jpg” /></span>’;
  22. }
  23. }
  24. }

2.在后台界面右上角点击显示选项,勾选自定义栏目

3.获取timthumb.php文件,放在主题根目录下

然后调整样式就好了,关于结构和类名可以修改为适合自身主题的就好。

最后编辑:
作者:漱石
这个作者貌似有点懒,什么都没有留下。
捐 赠如果您觉得这篇文章有用处,请支持作者!鼓励作者写出更好更多的文章!

留下一个回复