一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

wordpress中缩略图调取几种方法

时间:2012-11-29 编辑:简简单单 来源:一聚教程网

凭文章ID就可以找到第一个图片。这里可以写成方法如下,用户获取第一个缩略图,如果没有上传过图片,返回空字符串。


以下代码贴入主题的function.php文件:

 代码如下 复制代码
//缩略图获取
add_theme_support( 'post-thumbnails' );
set_post_thumbnail_size( 140, 98 ,true );//设置缩略图的尺寸
function dm_the_thumbnail() {
    global $post;
    // 判断该文章是否设置的缩略图,如果有则直接显示
    if ( has_post_thumbnail() ) {
        echo '';
        the_post_thumbnail();
        echo '
';
    } else { //如果文章没有设置缩略图,则查找文章内是否包含图片
        $content = $post->post_content;
        preg_match_all('//sim', $content, $strResult, PREG_PATTERN_ORDER);
        $n = count($strResult[1]);
        if($n > 0){ // 如果文章内包含有图片,就用第一张图片做为缩略图
            echo '';
        }else { // 如果文章内没有图片,则用默认的图片。
            echo '';
        }
    }
}

代码注释相当详细了,这里不过多说明。添加新文章的时候,右侧有个设置缩略图,这样就行了


方法二

 代码如下 复制代码

function getFirstImage($postId) {
 $args = array(
  'numberposts' => 1,
  'order'=> 'ASC',
  'post_mime_type' => 'image',
  'post_parent' => $postId,
  'post_status' => null,
  'post_type' => 'attachment'
 );
 $attachments = get_children($args);

 // 如果没有上传图片, 返回空字符串
 if(!$attachments) {
  return '';
 }

 // 获取缩略图中的第一个图片, 并组装成 HTML 节点返回
 $image = array_pop($attachments);
 $imageSrc = wp_get_attachment_image_src($image->ID, 'thumbnail');
 $imageUrl = $imageSrc[0];
 $html = '' . the_title('', '', false) . '';
 return $html;
}

调用的代码如下。

 代码如下 复制代码

$thumb = getFirstImage($post->ID);
if(strlen($thumb) > 0) {
 echo $thumb;
} else {
 // 显示默认图片或者不做任何事情
}

章特征图片(Featured Image)功能

WordPress 2.9之后,WordPress 提供了文章特征图片功能,可以为文章设定一个上传的图片作为特征图片,并可以给图片设定多个尺寸以便在不同的环境使用。可按一下步骤调用:

1. 为WordPress主题添加特征图片支持,并设定特征图片的尺寸和别名。

 代码如下 复制代码

PHPadd_theme_support('post-thumbnails'); // 支持特征图片功能

add_image_size('thumb', 180, 180); // 别名为 thumb, 尺寸为 150x150 的设定

add_image_size('recommend', 120, 120); // 别名为 recommend, 尺寸为 120x120 的设定

add_theme_support('post-thumbnails'); // 支持特征图片功能

add_image_size('thumb', 180, 180); // 别名为 thumb, 尺寸为 150x150 的设定

add_image_size('recommend', 120, 120); // 别名为 recommend, 尺寸为 120x120 的设定

 

我们可以将以上代码加到 functions.php 文件, 为主题添加添加了Featured Image 支持, 并设定了 180x180 和 120x120 两种尺寸的图片。

其中 add_image_size 用于定义一种特征图片尺寸, 参考 WordPress Codex, 实际上它有 4 个参数。

第 1 个参数: 特征图片的尺寸别名, 用于调用不同尺寸的缩略图。

第 2 个参数: 图片的宽度

第 3 个参数: 图片的高度

第 4 个参数: 参数是个布尔值, 用于指定图片的裁切方式。 默认为 false.

如果为 true, 图片会按较大的压缩比例处理, 多余部分裁剪掉。 比如现在有图片 900x600, 要求压缩成 150x150 的图片, 那么会先将图片压缩成 225x150 的图片, 才裁剪成 150x150.

如果为 false, 图片会按较小的压缩比例处理。 比如现在有图片 900x600, 要求压缩成 150x150 的图片, 那么会将图片压缩成 150x100 的图片。

下图是两个缩略图, 原图 1024x768, 左缩略图是 add_image_size('xxx', 120, 120, true);, 而右图使用的是 add_image_size('xxx', 120, 120, false);。

热门栏目