wordpress 新版本中文章有特色图片功能(Post Thumbnail Images),默认主题下,写新文章时,在页面下方有一个添加特色图片的选项,可以为文章添加特色图片。这个功能能让文章添加一张特定的图片,你可以用 她来当做文章缩略图在首页和列表页调用显示,也可以用作你自己的特殊用途。

可是很多朋友会问:我的后台怎么没有这个选项呢?因为该主题不支持,没关系,下面就开始让你的博客和wordpress特色图片一起炫起来吧。

一、让你的博客拥有此功能:在主题functions.php中声明即可

add_theme_support( ‘post-thumbnails’ );

这种方式可以让你的文章和页面都拥有该功能。你也可以用下面这两条中的一条,至于他们的意思,你应该一看就清楚了吧。

add_theme_support( ‘post-thumbnails’, array( ‘post’ ) ); // 在单篇文章中开启该功能
add_theme_support( ‘post-thumbnails’, array( ‘page’ ) ); //在页面文章中开启该功能

通过上面操作,可以看看后台是否有此功能了。这里要声明的是,特色图片上传后会经过缩略,即调用的图片是原始上传图片的缩略图。为了控制缩略图大小,我们还可以用下面的这些代码来控制,将这些代码放置在上面刚添加的代码后面。

set_post_thumbnail_size( 155, 110, true ); // 设置默认的缩略图大小尺寸
add_image_size( ‘one’, 155, 110, true ); // 设置标记为”one”的缩略图尺寸,这里的one应该是数组下标
add_image_size( ‘two’, 350, 248, true );
add_image_size( ‘big’, 546, 387, true );

二、前台显示对应的特色图片:将下面代码放置在文章调用循环内

<?php if ( has_post_thumbnail() ) { ?>
<?php the_post_thumbnail(); ?>
<?php } else {?>
没有特色图片
<?php } ?>

上面这一段应该很简单,即判断是否有特色图片,有的话就显示出来。不过在上文中不是设置了不同的缩略图大小么?怎么调用呢?用下面的代码替换上面的the_post_thumbnail()就可以了:

<?php the_post_thumbnail( ‘big’ ); ?>

或者

<?php $thumbID = get_the_post_thumbnail( $post->ID, ‘two’, $imgsrcparam ); ?>
<?php echo “$thumbID”;//调用了上面设置的标记为two的那张缩略图 ?>

然而,即使通过上面的调用,显示出来的图片只是单调的一张图,连title,alt属性都没有,可以用下面的代码来解决:

<?php the_post_thumbnail(‘thumbnail’, array( ‘alt’ => trim(strip_tags( $post->post_title )), ‘title’    => trim(strip_tags( $post->post_title )),‘class’ => ‘homepage-thumb’ )); ?>

输出后的html代码为

<img width=”350″ height=”233″ src=”” class=”homepage-thumb wp-post-image” alt=”饰品” title=”饰品” />

三、要提醒的是:

1、wordpress版本是否够高来拥有此功能,2.6之前的好像不能,所以在上文第一步时,请换成下面的代码

if ( function_exists( ‘add_theme_support’ ) ) { // Added in 2.9
add_theme_support( ‘post-thumbnails’ );
set_post_thumbnail_size( 50, 50, true ); // Normal post thumbnails
add_image_size( ‘single-post-thumbnail’, 400, 9999 ); // Permalink thumbnail size
}

2、该功能涉及的函数:

    另外,你还可以用$thumb_img_src=wp_get_attachment_image_src($attemtend-> ID);(附件对应的ID)来获取特色图片的src。但这种方法对于我们来说几乎起不到太大的最用,我们几乎不会用到附件的ID,附件ID可以通过进入相 册查看该图片获得的网址中获取。于是我们可以用一种内容截取的办法来获取图片地址: 

    preg_match(‘/<img.+src=[\'”]([^\'”]+)[\'”].* \/>/i’,$thumb_img, $index_piclink);
    $thumb_img_src[$i]=$index_piclink[1];

3、如何获取不同大小的图

wordpress特色功能在上传特色图片时默认保存为小中大图、特色图(高198px)、原始图(这指在没有进行上文第一步的设置的时候),那么如何调用这几种图呢?

  • 缩略图(Thumbnail)
  • 小图(Small)
  • 中等图(Medium)
  • 大图(Large)
  • 原图(Full)

在上文的调用代码<?php the_post_thumbnail(  ); ?>中,()内无内容或为thumbnail时为默认状态,调用的是特色图特色图(高198px),换为其他几个我想您已经知道效果了吧。

还有一点是,如何设置这些大图小图的尺寸呢?在后台“设置》媒体”内就有。如果将大小图内全部填写0的话,那么就不生成大小图了,在文章插入图片的时候,也不能选择大小图,只有特色图和原图了。


寒林

www.3code.cn 专注WordPress企业主题