wordpress非插件调用日志的第一张图片,其实这个衍生出去的话,是可以用在很多地方的。一般情况下,wordpress博客上大家都用插件来调用图片显示的,但是插件用多了会影响网站打开速度,严重影响用户体验,所以个人认为在不用插件能实现相关功能的情况下,就不用插件。下面是非插件调用wordpress日志的第一张图片的代码。......
【关键标签】:timthumb.php,博客相关,第一张图片,缩略图,非插件

wordpress非插件调用日志的第一张图片,其实这个衍生出去的话,是可以用在很多地方的。一般情况下,wordpress博客上大家都用插件来调用图片显示的,但是插件用多了会影响网站打开速度,严重影响用户体验,所以个人认为在不用插件能实现相关功能的情况下,就不用插件。下面是非插件调用wordpress日志的第一张图片的代码。

步骤1:首先打开主题的functions.php文件,将以下代码复制进去

function show_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)){
$first_img = "/images/default.jpg"; // Define the Default image
}
return $first_img;
}

步骤2:接着下载TimThumb.php文件,放到主题目录下。

步骤3:打开主题下的index.php文件,找到文章循环调用区域,在你需要调用图片的地方加入以下代码:

<IMG alt="<?php the_title(); ?>" src="<?php bloginfo('template_directory'); ?>/timthumb.php?src=<?php echo show_image() ?>&w=200&h=200&zc=1&q=100">

下面就timthumb.php的参数设置做些解释:

上列代码中的

w=200&h=200&zc=1&q=100

你可以自己修改,比如这句代表图片高度(h)与宽度(w)为200像素,并且(zc=1)自动裁剪(这样图片不会变形)图片质量100。默认情况下timthumb.php会自动在主题目录下新建cache的文件夹,如果没有建立,可自行建立,并附属性为644。

再附一篇关于用timthumb.php给WordPress添加缩略图的资料

timthumb.php是一个由Google开发的插件,现在有很多国外的Theme都使用这个插件给WordPress generic cialis添加缩略图。

使用它有一个方便的好处,那就是你只需要指定一张图片便可以了,只要任何有执行代码的地方它都会自动实现缩略图功能。是不是非常方便呢?

那么现在就开始实施过程吧。

在你需要实现缩略图的地方,比如主题的index.php里,找到这句:

<?php the_title(); ?>

 

这句通常表示首页调用的文章标题,对,就是这里了。

现在需要在这句上面添加如下代码:

  • <a href="<?php the_permalink() ?>" title="<?php the_title(); ?>">
  • <?php $thumbnail = get_post_meta($post->ID, 'thumbnail', true); ?>
  • <?php if($thumbnail !== '') { ?>
  • <img src="<?php bloginfo('stylesheet_directory'); ?>/timthumb.php?src=<?php echo $thumbnail; ?>&amp;h=100&amp;w=100&amp;zc=1" alt="<?php the_title(); ?>" />
  • <?php } ?>
  • </a>

 

如果有多行表示标题的代码的话,在导航上面都添加代码。

接下来就是在发布文章时如何调用了:

发布文章是,在“添加新自定义域”里添加一个名称为“thumbnail”,值为图片路径的自定义域。如果不想添加自定义域,可以通过上面的调用第一张图片的方法来实现,只要把上面的

<?php echo $thumbnail; ?>

替换成

<?php echo show_image() ?>

当然,文章最上面的那段代码还是要加在functions.php文件中的