我有个主题本来是用timthumb.php获取缩略图的,如何改为第一图片

我有个主题本来是用timthumb.php获取缩略图的,如何改为文章第一个图片为缩略图,我的主题是瀑布流的,因为用的新浪sae,timthumb.php获取后不能写入空间,想改为获取文章第一个图片为缩略图,请问怎么修改呢?望解答一下。谢谢了。

共有7个回答 按发表时间排序
  • 0
    最佳答案
    Designer - 2012-06-04

    如果不用timthumb.php函数的话,调用第一张图片无法固定缩略图的宽高,容易产生变形,而且是否第一张图片与timthumb无关,timthumb只是将你指定的图片改变缩略图尺寸。

    你应该使用特色图像,来设置缩略图。

    在function.php里添加

    if ( function_exists( 'add_theme_support' ) ) {
        add_theme_support( 'post-thumbnails', array( 'post', 'page' ) );
        set_post_thumbnail_size( 300, 200, true );
    }
    

    在需要的地方使用以下代码来调用

    <a href="<?php the_permalink() ?>"><?php the_post_thumbnail(); ?></a>
    
    Designer - 2012-06-04

    要调用第一张图片也是可以的,在function.php添加以下代码

    function wp_catch_first_image($image_size = '') {  
        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];
            return $first_img;  
    }
    

    然后只需要在相应的地方调用

    <a href="<?php the_permalink() ?>"><?php echo wp_catch_first_image('m'); ?></a>
    
    setsail - 2012-06-05

    哦,那怎么样能修改一下timthumb.php,来适用新浪sae呢。请问你知道吗

    Designer - 2012-06-05

    这个无解的,服务器环境里禁止了某些参数,不是你修改程序可以搞定的。

    setsail - 2012-06-05

    timthumb.php他是要把图像缓存在空间吧?sae也有类似的缓存服务,这个就差不多,麻烦你能帮我看下,合适做吗?要怎么修改呢?谢谢了http://apidoc.sinaapp.com/sae/SaeImage.html

    Designer - 2012-06-06

    timthumb不是缓存图像,timthumb是用来裁切生成正常图像到指定大小的缩略图,跟图像缓存空间什么的没有关系。

    SAE禁用了某些函数,就不要再想着用timthumb函数来调缩略图了,要么换个空间,要么换个方法。

    setsail - 2012-06-06

    哦好的,感谢解答。

做好事要留名,请先登录再回答,如果还没有帐户请先注册