图片待添加
图片待添加

WordPress主题开发教程:文章缩略图(特色图片)显示随机图片

2019-02-24 22:37 分类:WordPress主题开发制作教程, WordPress教程 阅读(次阅读) 标签:,

有时候文章内容里面没有图片,但是wordpress特色图像如果没有的话,有的主题就显示不正常,或者不好看.

解决办法:
WordPress主题的文章缩略图(特色图片)显示随机图片.
预先弄几张图,放在主题目录.
如果当前文章没有特色图片,则调用预先存放的图片做为网站的缩略图.

教程开始:

步骤一:编辑你正在使用的wordpress主题文件,在主题的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都去掉即可
  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;
}

步骤二:
在主题中新建/images/random/目录,找一些自己拍的图片放进去。将他们重命名为1.jpg 2.jpg 3.jpg 4.jpg 5.jpg网上有一件重命名脚本/

步骤三:
打开主题目录下的文章列表页,一般是content.php,将原主题的特色图像代码换成下面的.(菜鸟请记得备份)

原主题 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>

CSS 中注意修改相关代码:

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

文章参考自: https://talk.synyan.net/11030


本文地址: https://www.wpyi.com/thumbnail-rand.html