高海鹏老师的博客目前使用某网友分享出来的DUX主题,这个主题看起来很不错,但是缩略图的设置很简单:如果设置了“特色图像”,就以“特色图像”作为缩略图;如果没有设置“特色图像”,则显示一幅默认的图片。经过研究,我最终实现了DUX主题随机缩略图的显示:如果设置了“特色图像”,就以“特色图像”作为缩略图;如果没有设置“特色图像”,则自动调取文章内第一幅图片作为缩略图;如果文章内没有图片,则随机显示一幅图片。
具体实现方法如下(以DUX 1.3版本为例):
首先修改inc/fn.php,打开fn.php文件,找到第463行,将以下内容:
$html = sprintf('', get_stylesheet_directory_uri() . '/img/thumbnail.png', $class);
修改为:
$random = mt_rand(1, 20); $html = sprintf('', get_stylesheet_directory_uri() . '/img/random/'.$random.'.jpg', $class);
接下来,我们在主题的img下建立一个文件夹random,复制进20张图片,并重命名为1.jpg、2.jpg……20.jpg,这样,DUX主题就实现了自动显示随机缩略图的功能,如果文章没有设置“特色图像”,将随机显示一幅图片。
下面我来实现自动调取第一幅图片,在主题的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); } } } } //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');
这样,DUX主题就修改完了,保存即可看到效果。
本文参考了这两篇文章:
http://www.dedewp.com/2568.html
http://www.ymjihe.com/1753.html
感谢原作者分享!
请教下博主,怎么才能不加载这个图片thumbnail.png,打开页面缩略图直接显示真实的特色图像呢?
发博文的时候指定特色图像即可。
博主,dux1.5的inc/fn.php找不到
1.5跟1.3不同,我这是1.3。
dux1.5要吗
求地址,谢谢。
dux1.5能不能用这个方法
仅适用于1.3
博主,这里有个问题:我在文件夹里放了6张随机图片,那些没有图片的文章,显示的缩略图经常变啊,比如这次显示的是1.jpg,下次是3.jpg….
怎么样实现:第一次随机分配之后,就不再改变?
麻烦大神了~~谢谢!
代码就是实现随机分配的,如果不想随机分配,只能为每篇文章指定一张特色图像。
没有生效。
复制的时候注意标点
太给力了,感谢高老师
谢谢啊,解决了缩略图的问题了
搜索过来了,办法很赞!
你这个方法好是好,但是这样就会让图片目录生成另外一张缩略图。要是不另外生成缩略图直接读取文章第一张图那就完美些。
wordpress dux 。文章里只有一张外链图,然后能否首页直接读取文章的外链图做为首页缩略图?
如果文章插入一张外链图片。然后能否当成缩略图显示出来哦。你的方法获取自己上传的第一张图作为缩略图是可以,那要是我插入的是一张外链图就不显示了。
这种方法确实是不支持外链图片的,具体的实现方法我也不清楚,没那技术啊。
老师,我想问一下,我用了跟你一样的主题,为啥我的点注册用户确没有弹窗出来,你的就可以呢?
PHP版本要确保在5.4以上。
1.3分享下,同主题看看
我也是在网上搜索找到的,360搜索“dux1.3下载”即可。