专注CJ联盟
不止CJ联盟

给你的网站加个随机缩略图

不少新手朋友建英文站,都遇到过一个问题,那就是缩略图和幻灯片。辛辛苦苦找了个主题,但是怎么设置怎么调整都无法实现预览图的效果。到头来,只好手动设置文章的特色图像才能实现文章缩略图的效果。

据我所知很多人用wprobot破解版采集文章,但采集不到图片,到最后手动设置的人也不少。关于缩略图,我在《wordpress建站提升效率和外观的几个插件》中也介绍了我使用的几个插件。

当时提到的在线搜索图片生成缩略图插件Magic Post Thumbnail,我最近发现他已经不能直接搜索google图片了,需要google的账号之类的东西。

而WP-Thumbnails这个插件,在国外的wordpress主题模板中,基本不起作用。原因很简单,那就是国外的主题基本上都是用特色图像作为缩略图调用。

最近,我又捣鼓了一下,发现网上有不少文章介绍如何为没有特色图片的文章随机添加特色图片的办法,但需要修改代码,而且对主题的兼容性要求比较高。我曾经在一个主题上调试成功后,换个主题又无法照搬。

wordpress建站

最近,发现了一个更好的办法,如下:

1、将想设置为特色图片的图片上传到媒体库。并记录下附件ID。(不懂如何看附件id的话自己百度)

2、将以下代码添加到主题目录下,functions.php文件后面。、
//自动为没有特色图片的文章,设置媒体库图片为特色图片。

function autoset_featured() {
global $post;
$already_has_thumb = has_post_thumbnail($post->ID);
if (!$already_has_thumb) {
$attached_image = get_children( "post_parent=$post->ID&post_type=attachment&post_mime_type=image&numberposts=1" );
if ($attached_image) {
foreach ($attached_image as $attachment_id => $attachment) {
set_post_thumbnail($post->ID, $attachment_id);
}
}else {
set_post_thumbnail($post->ID, (rand(849,872))); //媒体库文件ID,以英文,分开。图片数量无限制。
}
}

} //end function
add_action('the_post', 'autoset_featured');
add_action('save_post', 'autoset_featured');
add_action('draft_to_publish', 'autoset_featured');
add_action('new_to_publish', 'autoset_featured');
add_action('pending_to_publish', 'autoset_featured');
add_action('future_to_publish', 'autoset_featured');

3、在代码第13行,输入媒体库图片文件ID,用英文逗号分开即可。(就是红字部分)

该代码在多个主题中测试成功。

 

 

 

有基础的人也可以自己再对代码进行修改优化。看不懂的,那就自行百度吧,步骤已经很详细。

赞(0)
未经允许不得转载:赚刀博客 » 给你的网站加个随机缩略图

评论 4

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #1

    谢谢虾哥,这个方法确实管用。我之前没办法,只好淘宝找人改代码,但就是如你所说每次都得去找人。我刚才试了你这个方法,虽然需要上传一些图片,但是也很方便

    luck4年前 (2016-01-26)回复
    • 嗯,虽然需要上传图片,但兼容性很好。以后发现更好的方法,我再分享

      admin4年前 (2016-01-26)回复
  2. #2

    这个方法很好,但是有个小问题,就是图片主题和文章主题应该是没有办法一一对应吧?
    红字部分适配是随机的。

    昆仑虾3年前 (2016-06-03)回复
    • 需要自己上传图片,然后修改红字部分,图片就在那个区间随机调用

      admin3年前 (2016-06-03)回复

赚刀博客——专注CJ联盟,不止CJ联盟

联系小龙虾CJ联盟交流群