分享你我的心得.
共乘一片美好网络.

wordpress文章无特色图时随机显示指定的图片(已解决)

wordpress 显示图片的逻辑是

1 假如文章有指定特色图则显示特色图。

2 假如没有指定特色图片,则使用文章的第一个图片来作为缩略图显示。

3 假如文章里面没有图片。则随机使用指定的图片作为缩略图来显示。

找到控制其缩略图的函数文件:functions-theme.php

里面有个使用图片的函数: _get_post_thumbnail 稍微改下:

function _get_post_thumbnail($size = 'thumbnail', $class = 'thumb') {
        if (has_post_thumbnail()) {
        $domsxe = get_the_post_thumbnail();
        $images = $strResult[1];
        foreach($images as $src){
                $r_src = $src;
            break;
        }
        }else{
            $thumblink = get_post_meta($post->ID, 'thumblink', true);
                if( _hui('thumblink_s') && !empty($thumblink) ){
                        $r_src = $thumblink;
                }
                elseif( _hui('thumb_postfirstimg_s') ){
                        $content = $post->post_content;
                preg_match_all('/<img.*?(?: |\\t|\\r|\\n)?src=[\'"]?(.+?)[\'"]?(?:(?: |\\t|\\r|\\n)+.*?)?>/sim', $content, $strResult, PREG_PATTERN_ORDER);
                $images = $strResult[1];

                foreach($images as $src){
                        if( _hui('thumb_postfirstimg_lastname') ){
                            $filetype = _get_filetype($src);
                            $src = rtrim($src, '.'.$filetype)._hui('thumb_postfirstimg_lastname').'.'.$filetype;
                        }

                        $r_src = $src;
                        break;
                }
                }
    }

        if( $r_src ){
                if( _hui('thumbnail_src') ){
                return sprintf('<img data-src="%s" alt="%s" src="%s" class="thumb">', $r_src, $post->post_title._get_delimiter().get_bloginfo('name'), get_stylesheet_directory_uri().'/img/thumbnail.png');
                }else{
                return sprintf('<img src="%s" alt="%s" class="thumb">', $r_src, $post->post_title._get_delimiter().get_bloginfo('name'));
                }
    }else{
        //原来的使用指定一张图片 
//return sprintf('<img data-thumb="default" src="%s" class="thumb">', get_stylesheet_directory_uri().'/img/thumbnail.png');
       // 现在使用的。随机使用文件夹里面的图片
        $random = mt_rand(1, 8);
        return sprintf('<img data-thumb="default" src="%s" class="thumb">', get_stylesheet_directory_uri().'/img/random/'.$random.'.png');
    }
}

就改了这部分,其它不变:

//原来的使用指定一张图片 
//return sprintf('<img data-thumb="default" src="%s" class="thumb">', get_stylesheet_directory_uri().'/img/thumbnail.png');
       // 现在使用的。随机使用文件夹里面的图片
        $random = mt_rand(1, 8);
        return sprintf('<img data-thumb="default" src="%s" class="thumb">', get_stylesheet_directory_uri().'/img/random/'.$random.'.png');
赞(0)
未经允许不得转载:小叶白龙博客 » wordpress文章无特色图时随机显示指定的图片(已解决)
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址