欢迎关注
最酷最in的云资讯

如何实现Dux主题文章不设置特色图片或者文章使用外链图片时显示随机缩略图

 

focus-dux

Dux主题首页缩略图不显示bug修复,说是bug修复,其实也不是,因为主题购买页已经说得很清楚了:

为什么没有缩略图? 你需要编辑文章的时候添加特色图片,这样才会显示在列表的缩略图中;

也就是说不设置特色图片,首页就显示默认的图片。这在主题说明里面已经详细说明啦,亲们,你们不要纠结了,dux主题如何设置文章第一张图片为首页所缩略图呢?

有的朋友会想到增加一个函数,也就是自动提取第一张图片为首页缩略图的函数,也有的朋友想到在不改函数名的情况下替换dux主题的缩略图函数,这两种方法都可行,但都有缺点,缺点就是比较麻烦,需要修改主题文件中所有调用该缩略图函数的地方。

function _get_post_thumbnail($size = 'thumbnail', $class = 'thumb') {

    global $post;

    $html = '';

    if (has_post_thumbnail()) {

 

        /*$domsxe = simplexml_load_string(get_the_post_thumbnail());

        $src = $domsxe->attributes()->src;

 

        $src_array = wp_get_attachment_image_src(_get_attachment_id_from_src($src), $size);

        $html = sprintf('<img data-src="%s" class="%s"/>', $src_array[0], $class);*/

 

        $domsxe = get_the_post_thumbnail();

        // print_r($domsxe);

        preg_match_all('/<img.*?(?: |\\t|\\r|\\n)?src=[\'"]?(.+?)[\'"]?(?:(?: |\\t|\\r|\\n)+.*?)?>/sim', $domsxe, $strResult, PREG_PATTERN_ORDER);

        $images = $strResult[1];

        foreach($images as $src){

            $html = sprintf('<img data-src="%s" class="thumb">', $src);

            break;

        }

 

    }else {

        $post_thumbnail_src = '';

        ob_start();

    ob_end_clean();

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

    $post_thumbnail_src = $matches [1] [0];   //获取该图片 src

    if(empty($post_thumbnail_src)){

        $random = mt_rand(1, 10);

        $post_thumbnail_src = get_bloginfo('template_url').'/img/pic/'.$random.'.jpg';

        }

        $html = sprintf('<img data-src="%s" class="thumb">', $post_thumbnail_src);

    }

    return $html;

}

 

 

赞(0) 打赏
未经允许不得转载:云微资讯 » 如何实现Dux主题文章不设置特色图片或者文章使用外链图片时显示随机缩略图
分享到: 更多 (0)

云微资讯 科技新媒体资讯平台

关于我们联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏