dux,tob主题添加显示外链图片为缩略图

坏处是直接使用文章中的原图而非生成压缩缩略图会导致页面载入数据量变大,建议配合lazyload使用。
打开functions-theme.php找到如下代码:

function _get_post_thumbnail() {
    return ’<img src="’._the_theme_thumb().’" data-src="’. _get_post_thumbnail_url() .’" class="thumb">’;
}

替换为如下代码

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;
}

 
 

WP技巧

WordPress文章图片自动添加链接到原图

2017-5-7 17:54:09

WP技巧

使wordpress注册成功后直接显示密码

2017-7-20 14:21:10

个人中心
今日签到
有新私信 私信列表
搜索