不知道WordPress的开发者是怎么想的,设置了一个非常鸡肋的不能引用外链的“特色图像”功能,而老外主题开发者们又对此功能趋之若鹜,每个主题都有,Hueman也不例外,导致主页如果设置图像为“Show featured image placeholders if no featured image is set”时一大方框不是很好看,但真的每篇文章都去设置一张特色图像又占空间还不能引用外链,还不能随机显示默认图像。

WordPress
WordPress

找了一圈,《WordPress文章没有图片时显示随机图片或默认图片》给了个不错的解决方案,经实践、修改后将步骤介绍如下:

1、在functions.php加入如下代码:

//支持外链缩略图
if ( function_exists('add_theme_support') )
 add_theme_support('post-thumbnails');
function catch_first_image() 
{
	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];
	//判断图片是否过小
	if(!empty($first_img))
	{
		$image_size = getimagesize($first_img);
		$image_width = $image_size[0];
	}
	//如果第一张图不存在或过小,则返回随机图片
	if(empty($first_img) || $image_width<50){
		$first_img = '';
		//从2张图中随机选择,可根据自己的图片数量设置
		$random = mt_rand(1, 2);
		echo get_bloginfo ( 'stylesheet_directory' );
		echo '/images/random/'.$random.'.JPG';
		}
  return $first_img;
}

2、在主题中新建/images/random/目录,找一些自己拍的图片放进去。

3、原主题content.php中引用特色图像的代码:

<?php if ( has_post_thumbnail() ): ?>
<?php the_post_thumbnail('thumb-medium'); ?>
<?php elseif ( ot_get_option('placeholder') != 'off' ): ?>
<img src="<?php echo get_template_directory_uri(); ?>/img/thumb-medium.png" alt="<?php the_title(); ?>" />
<?php endif; ?>

修改为:

<!--裁切高大于宽的图片-->
<div  style="overflow:hidden;width:100%;max-height:100px;">
<img src='<?php echo catch_first_image(); ?>' />
</div>

4、CSS中注意修改相关代码:

.post-thumbnail img { 
display: block; 
width: 100%; 
//height: auto;
}

告成!

共有 23 条评论

  1. Betty

    上海

    其实首页我不太喜欢很多图片

    因为无法保证图片一个风格,或者是彼此色调和谐

    一旦图多,色调多了,就显得页面非常脏乱

    作为喜欢简洁风的人,不能忍受太多东西的堆砌

    十年前 Safari 8 · Mac OS X 10.10

    回复

    • S̆̈

      江苏

      @Betty 好吧,算是多尝试些风格嘛,说不定哪天又换回来了。哈~

      十年前 Chromium 38 · Ubuntu

      回复

      • Betty

        上海

        @S̆̈ 没事,你随意,你自己喜欢就好

        如果风格真是脏到乱了,大不了就跟那谁谁谁的博客一样,我不看就是了

        十年前 Safari 8 · Mac OS X 10.10

        回复

        • S̆̈

          江苏

          @Betty 好吓人啊,这个很严重的,我可不敢赶走本博最好的观众呀!!
          那谁谁是谁呀,很好奇……

          十年前 Chromium 38 · Ubuntu

          回复

        • 护法

          新西兰

          @Betty 就是,那谁谁是谁啊?要不好一阵子都没见你上俺家来了? ❗

          十年前 Google Chrome 39 · Windows 7

          回复

          • S̆̈

            江苏

            @护法 那谁谁下面Betty回复了,叫什么破袜子的一个网友。

            十年前 Google Chrome 31 · Windows XP

            回复

    • S̆̈

      江苏

      @Betty 我觉得你说的对,还是简洁一点好。 😆

      十年前 Chromium 38 · Ubuntu

      回复

      • Betty

        上海

        @S̆̈ 哈哈,莫非你试过多图显示以后,被错杂的视觉效果给看醉了?

        十年前 Safari 8 · Mac OS X 10.10

        回复

        • S̆̈

          江苏

          @Betty 元素多了点,好看是好看but不符合内容突出的要求嘛

          十年前 WebView 1 · Samsung SM-G9009D

          回复

  2. Betty

    上海

    那谁谁谁叫什么破袜子来着,刚想把他网站打开给你看,结果发现人家换模板了,不脏乱了……

    十年前 Safari 8 · Mac OS X 10.10

    回复

    • S̆̈

      江苏

      @Betty 人家太紧张了,不能承受被你辱骂的痛

      十年前 Chromium 38 · Ubuntu

      回复

      • Betty

        上海

        @S̆̈ 你错了,我跟人家没像跟你一样——熟?
        所以人家在用那个脏脏的模板时候,我一句话没说,就顶多不去看而已,毕竟那是人家的地盘,人家喜欢最重要
        现在人家换模板了,新的模板算干净的,然后我才表示出了对上一个模板的不满意,显脏……

        十年前 Safari 8 · Mac OS X 10.10

        回复

        • S̆̈

          江苏

          @Betty 我在你那找了半天也没找到破袜子……

          十年前 Chromium 38 · Ubuntu

          回复

  3. 瑾瑜

    安徽

    这第一张图的像素不够,首页放大就模糊了,而且大部分是白色。

    十年前 Internet Explorer 11 · Windows 8.1

    回复

    • S̆̈

      江苏

      @瑾瑜 昨晚晚睡前随便找的……心想能混就混了,想不到读者们的眼睛真是雪亮啊!

      十年前 WebView 1 · Samsung SM-G9009D

      回复

  4. Betty

    上海

    来,破袜子点此:http://pewae.com/

    十年前 Google Chrome 39 · Mac OS X 10.10

    回复

    • S̆̈

      江苏

      @Betty 貌似改过模板后还行……

      十年前 Chromium 38 · Ubuntu

      回复

      • Betty

        上海

        @S̆̈ 今天再去看,他模板是又换过了一个……

        我昨天看到的不是今天这一个……

        十年前 Safari 8 · Mac OS X 10.10

        回复

        • S̆̈

          江苏

          @Betty 好吧,今天那款还可以啦

          十年前 WebView 1 · Samsung SM-G9009D

          回复

        • 护法

          新西兰

          @Betty 还是有点闹腾 😛

          十年前 Google Chrome 39 · Windows 7

          回复

          • S̆̈

            江苏

            @护法 不闹不欢 😀

            十年前 Google Chrome 31 · Windows XP

            回复

  5. 护法

    新西兰

    太同意了,这个特色图片功能经常导致我的首页出现空窗。

    十年前 Google Chrome 39 · Windows 7

    回复

    • S̆̈

      江苏

      @护法 要没啥用就删了吧~ 🙂

      十年前 Google Chrome 31 · Windows XP

      回复

       

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注