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

LMS
1.1K+ 17

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

美女

<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://muxer.cn/272.html

本文节转自: Jinwen Say

THE END

评论 17

  1. 不行。还是全部调用

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

  2. mcooo
    🏅🏅

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

    :razz:

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

      1. mcooo@LMS
        🏅🏅

        可能是原作者写错了吧! :grin:

  3. mcooo
    🏅🏅

    $output = preg_match_all('//i', $post->post_content, $matches); :?: 是这样才对吧!

  4. that5
    🏆🏅🏅

    更喜欢,自定义域的方式

  5. SorryDreams
    🏅

    这个思路好。 :cry:

      1. SorryDreams@LMS
        🏅

        不是桑心,是感动。。

  6. 万戈
    🏆🏅

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

  7. Firm
    🏅🏅

    我的主题有附带这个功能

    1. 和这个是一摸一样的? :?:

  8. 林木木
    🏆🏆

    恩,这个简单!

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

发表评论

Submit