Press "Enter" to skip to content

首页自动调用日志第一张图片

Last updated on 2013年06月2日

在模板的主循环里,在你需要显示图片的位置中添加如下代码:

美女

<img src="<?php echo catch_that_image() ?>" alt="" />

建议为该代码前后添加一个<div>的以方便控制它的样式,比如大小,是否浮动显示等。不要忘记的是,你必须在主题模板的function.php文件内同时添加上下面的功能代码,否则图片不会自动读取:

function catch_that_image() {
global $post, $posts;
$first_img = '';
ob_start();
ob_end_clean();
$output = preg_match_all('/&lt;img.+src=[\'"]([^\'"]+)[\'"].*&gt;/i', $post-&gt;post_content, $matches);
$first_img = $matches [1] [0];
if(empty($first_img)){ //Defines a default image
$first_img = "在这里指定如果没有图片则显示的默认图片路径";
}
return $first_img;
}

这样,系统就能自动读取在该篇文章中的第一个图片,注意是第一个;所以请把需要作为缩略图显示的图片放在日志中的首位。

所有上面操作都完成后,在后台新建页面,选取刚建立的页面模板,也不用写什么内容的了,存档后访问该页面,就会显示那些需要显示的文章,还有文章内的第一个图片。

当然,你也可以使用wordpress的自定义域来实现首页缩略图,这样会稍麻烦点,但可控性更强点。详细见:WordPress的自定义域 http://lms.im/272.html

本文节转自: Jinwen Say

17 Comments

  1. 林木木
    林木木 2010年03月18日

    恩,这个简单!

    • LMS
      LMS 2010年03月18日

      @林木木 牛人那搬过来的,据说wpg的杂志主题用的就是这个.

  2. Firm
    Firm 2010年03月18日

    我的主题有附带这个功能

    • LMS
      LMS 2010年03月18日

      @Firm 和这个是一摸一样的? ❓

  3. 万戈
    万戈 2010年03月18日

    是个好方法,比自定义域要简单

  4. SorryDreams
    SorryDreams 2010年03月18日

    这个思路好。 😥

      • SorryDreams
        SorryDreams 2010年03月19日

        @LMS 不是桑心,是感动。。

  5. that5
    that5 2010年03月31日

    更喜欢,自定义域的方式

  6. mcooo
    mcooo 2010年04月12日

    $output = preg_match_all(‘//i’, $post->post_content, $matches); ❓ 是这样才对吧!

  7. mcooo
    mcooo 2010年04月12日

    $output = preg_match_all(‘/<img.+src=[‘”]([^'”]+)[‘”].*>/i’, $post->post_content, $matches);

    😛

    • LMS
      LMS 2010年04月12日

      @mcooo 太感谢了!我原来测试的时候是提示这一句出错,可是我自己不会改,问原作者又没回话,所以就一直放着了,真是太感谢你了!!!

      • mcooo
        mcooo 2010年04月12日

        @LMS 可能是原作者写错了吧! 😀

  8. smi
    smi 2011年12月9日

    不行。还是全部调用

    • LMS
      LMS 2011年12月10日

      @smi 好像3.0后条用图片更简单了,可以不用这样的代码了。

发表评论

电子邮件地址不会被公开。 必填项已用*标注