当前位置: 首页 >wordpress

WordPress模板制作获取缩略图(特色图)

wordpress 2015-8-4 阅读量: 383 TAG:

1:用代码实现wordpress抓取文章第一张图片为缩略图函数,在functions.php中添加如下代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
function catch_that_image() {
  global $post, $posts;
  $first_img = '';
  ob_start();
  ob_end_clean();
  $output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches);
  $first_img = $matches [1] [0];
  if(empty($first_img)){ //Defines a default image
     $random=rand(0,29);
     $first_img = "/wp-content/images/default-images.jpeg";
     //$first_img = "/wp-content/plugins/wordpress-23-related-posts-plugin/static/thumbs/".$random.".jpg";
  }
  return $first_img;}

调用:

1
<?php echo catch_that_image()?>

2.特色图
首页你要看下你所用的主题有没有开启文章缩略图功能,如果看起的话,会在wordpress后台编辑页面或者文章时在右下角的地方看到一个特色图像的设置
如果没有说明你还没有激活这功能。我们需要在你主题functions.php里面加一段代码。

1
2
3
4
5
6
<?php
add_theme_support( 'post-thumbnails' ); //激活文章和页面的缩略图功能。
//如果你想分别激活它们,可以使用下面的代码:
add_theme_support( 'post-thumbnails', array( 'post' ) ); // 激活文章缩略图功能
add_theme_support( 'post-thumbnails', array( 'page' ) ); // 激活页面缩略图功能
?>

这样你的缩略图功能就激活了,然后我们添加图片或者直接点击设置特色图片的时候,你会发现多了一个设置如图。
Wordpress教程:教你如何使用文章缩略图功能
我们单击作为特色图像,这样你就可以将这个图片作为特色图片显示了。
Wordpress教程:教你如何使用文章缩略图功能
做好之后我们就要对它进行调用然后在前台显示出来,代码是:

1
2
3
4
5
6
7
<?php
the_post_thumbnail();
//需要将这段代码放在你的主循环中比如:
<?php if ( have_posts() ) while ( have_posts() ) : the_post(); ?>
<?php the_post_thumbnail(); ?>
<?php endwhile; ?>
?>

这样缩略图就可以显示了。这个基本的方法掌握好之后,下面是一些它的其他使用方法。

1.自定义缩略图的大小(放在主题functions.php里面add_theme_support()的下面)

1
2
3
4
set_post_thumbnail_size( $width, $height, $crop );
//$width 是图片的宽度,可以直接填数字
//$height 是图片的高度,也可以直接填数字
//$crop 是否进行裁剪,默认是false不裁剪,如果填写true 你的图片将会裁剪成你设置的大小。

不过set_post_thumbnail_size()笔者在用的时候不起作用,不知道大家有没有试过。试过后如果可以使用的记得和笔者说下哈。
我这边使用的是直接规定缩略图大小(直接在主循环里面输出)

1
2
3
4
5
6
7
<?php
the_post_thumbnail('thumbnail');       // 缩略图(最大默认 宽150px高150px)
the_post_thumbnail('medium');          // 中等大小(最大默认 宽300px 高300px)
the_post_thumbnail('large');           // 大图 (最后默认宽1024px高1024px)
the_post_thumbnail('full');            // 原图
the_post_thumbnail( array(100,100) );  // 自己定义宽高
?>

直接获取图片地址
获取特色图像:小

1
2
3
4
5
<?php
$thumbnail_image_url = wp_get_attachment_image_src(
get_post_thumbnail_id($post->ID), 'thumbnail');
echo $thumbnail_image_url[0];
?>

获取特色图像:中

1
2
3
4
<?php
$medium_image_url = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), 'medium');
echo $medium_image_url[0];
?>

这里需要多讲一下,设置默认缩略图大小是在wordpress后台 设置->媒体 里面。
Wordpress教程:教你如何使用文章缩略图功能

2.判断文章是否含有缩略图

1
2
3
4
5
6
7
8
9
10
11
12
<?php
has_post_thumbnail();
//用法是,通过if如果进行判断
if ( has_post_thumbnail() )
{
  //显示缩略图
}
else
{
    //没有缩略图( 这里可以放一张默认的图片 )
}
?>

3.创建新的缩略图大小(放在主题functions.php文件add_theme_support()下面)

我们看到上面设置的图片大小都是等比例缩小的。不管你怎么设置它都是按比列来进行缩小的。如果想设置宽高不等的。便可以使用下面这个函数。

1
2
3
4
 add_image_size( $name, $width, $height, $crop );
//这里的第一个参数$name是新创建缩略图的名称,其他的参数和上面说的是一样的
//使用方法
add_image_size('home-thumb','200','120');

然后我们在显示的时候只需要在填上新的缩略图名称如:the_post_thumbnail(‘home-thumb’);这样就可以显示了。

4.获取缩略图ID号

1
<?php  get_post_thumbnail_id();  ?>

//放在主循环中

来源:(微信/QQ号:909912499),欢迎分享本文,转载请保留出处!部分内容来自网络,如有侵权请联系删除处理!

相关信息

本站提供代码修改,dedecms,WordPress仿站二次开发 / PHP网站建设以及SEO优化等网络营销推广等服务。

如有需要请加QQ: 909912499