WordPress实现文章列表随机显示缩略图方法

WordPress 11个月前 (09-25) 40次浏览 已收录 0个评论

在使用 WordPress 发布文章的时候,很多主题默认取文章第一个图片为缩略图,使用 timthumb.php 函数自动调整缩略图大小,并生成缓存文件,目前国内外大部分 WordPress 主题都采用此方法生成缩略图。这一方法的缺点是无法截取外链图片,处理起来特别麻烦。

我的方法为如果文章没有插图的话, 就需要添加自定义域,并通过 CSS 控制缩略图大小。

第一种方法为没有缩略图就指定固定的一张图片为缩略图,具体的代码为:

<?php if ( get_post_meta($post->ID, 'thumbnail', true) ) : ?>
<?php $image = get_post_meta($post->ID, 'thumbnail', true); ?>
<a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"><img src="<?php echo $image; ?>" alt="<?php the_title(); ?>"/></a>
<?php else: ?>
<a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"><img src="<?php bloginfo('template_directory'); ?>/images/img.jpg" alt="<?php the_title(); ?>" /></a>
<?php endif; ?>

代码释义:

<img src="<?php bloginfo('template_directory'); ?>/images/img.jpg" alt="<?php the_title(); ?>"/>

为核心代码,指定当前模版文件下 images 文件夹中的 img.jpg 为缩略图,这个方法能实现指定固定一张图片为缩略图。

但是在实际使用中,我们很多文章都没有图片的话,只用一张图片来当缩略图就显得不美观,我给出第二个方法,在默认占位图链接位置添加一句 rand()函数就可随机调用特定目录下的多个图片,实现文章列表随机调用缩略图,具体代码为:

<?php if ( get_post_meta($post->ID, 'thumbnail', true) ) : ?>
<?php $image = get_post_meta($post->ID, 'thumbnail', true); ?>
<a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"><img src="<?php echo $image; ?>" alt="<?php the_title(); ?>"/></a>
<?php else: ?>
<a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"><img src="<?php bloginfo('template_directory'); ?>/images/random/img<?php echo rand(1,5)?>.jpg" alt="<?php the_title(); ?>" /></a>
<?php endif; ?>

代码释义:

/images/random/img<?php echo rand(1,5)?>.jpg

前面的 img 是图片的名称,我们可以新建几个名称为:img1.jpg, img2.jpg,img3.jpg,img4.jpg,img5.jpg 的图片,放到使用的主题的/images/random/(图片所在的位置,可根据实际修改。)目录中,也可以是其它格式的图片,数字 5 是预设的的随机图片数量,可以修改此数字,并相应增加随机图片数量。

将上面的代码添加到要调用缩略图的位置即可完美实现。


本文版权归湖南 SEO所有丨如需转载请注明文章出处
原文地址:https://www.wangxiaoyou.com/2472.html
喜欢 (0)
[736035566@qq.com]
分享 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

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