自动为WordPress文章添加特色图像

自动为WordPress文章添加特色图像

WordPress的特色图像是一个很实用的功能,可以在文章列表中为每篇文章添加一张缩略图。但特色图像需要在编辑文章时手动添加很不方便,下面的代码可自动将文章中的第一张图片设置为特色图像。

将下面的代码添加到当前主题的functions.php中:

  1. function wpforce_featured() {
  2.     global $post;
  3.     $already_has_thumb = has_post_thumbnail($post->ID);
  4.     if (!$already_has_thumb)  {
  5.         $attached_image = get_children( "post_parent=$post->ID&post_type=attachment&post_mime_type=image&numberposts=1" );
  6.         if ($attached_image) {
  7.                 foreach ($attached_image as $attachment_id => $attachment) {
  8.                 set_post_thumbnail($post->ID, $attachment_id);
  9.             }
  10.         }
  11.     }
  12. }  //end function
  13. add_action('the_post', 'wpforce_featured');
  14. add_action('save_post', 'wpforce_featured');
  15. add_action('draft_to_publish', 'wpforce_featured');
  16. add_action('new_to_publish', 'wpforce_featured');
  17. add_action('pending_to_publish', 'wpforce_featured');
  18. add_action('future_to_publish', 'wpforce_featured');

如果当前文章中没有图片,但又想显示一张默认的缩略图该怎么办,可以将上面的代码修改一下,调用媒体库中某个图片作为默认的缩略图:

  1. function wpforce_featured() {
  2.     global $post;
  3.     $already_has_thumb = has_post_thumbnail($post->ID);
  4.     if (!$already_has_thumb)  {
  5.         $attached_image = get_children( "post_parent=$post->ID&post_type=attachment&post_mime_type=image&numberposts=1" );
  6.         if ($attached_image) {
  7.             foreach ($attached_image as $attachment_id => $attachment) {
  8.                 set_post_thumbnail($post->ID, $attachment_id);
  9.             }
  10.         } else {
  11.             set_post_thumbnail($post->ID, '414');
  12.         }
  13.     }
  14. }  //end function
  15. add_action('the_post', 'wpforce_featured');
  16. add_action('save_post', 'wpforce_featured');
  17. add_action('draft_to_publish', 'wpforce_featured');
  18. add_action('new_to_publish', 'wpforce_featured');
  19. add_action('pending_to_publish', 'wpforce_featured');
  20. add_action('future_to_publish', 'wpforce_featured');

其中的数字414,是媒体库中某个图片附件的ID号。

提示

上面的代码只是一篇技术文章,可能会影响到之前添加的特色图像,所以不要轻易在自己的网站上做试验。

特色图像只适合不在乎空间流量和大小的用户使用,因为每张图片都会裁剪成多张大小不同的缩略图方便在不同的位置调用,最主要的是不支持外链,很浪费空间....

 

源代码出自:http://wpforce.com/automatically-set-the-featured-image-in-wordpress/

weinxin
我的微信
分享交流WordPress经验与技巧,关注前端设计与网站制作。仅用于功能演示。
Begin主题购买
avatar
Begin主题购买

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:44   其中:访客  43   博主:  1

    • avatar Win7en乐园 来自天朝的朋友 谷歌浏览器 Windows 10 江苏省苏州市 电信 7

      鸟哥,你终于发新文章了,被我抓个现行、

      • avatar Win7en乐园 来自天朝的朋友 谷歌浏览器 Windows 10 江苏省苏州市 电信 7

        鸟哥,说说话呀。怎么回事啊,鸟哥。~~

          • avatar 访客 来自天朝的朋友 火狐浏览器 Windows 7 安徽省合肥市 鹏博士长城宽带 0

            @Win7en乐园 就是不说 就是不说

            • avatar 励志语录 来自天朝的朋友 谷歌浏览器 Windows 7 浙江省杭州市 联通 5

              @Win7en乐园 发现有新功能

            • avatar Koolight 来自天朝的朋友 Safari浏览器  Android 4.4.2 PE-CL00 Build/HuaweiPE-CL00 湖北省武汉市 电信 4

              学习了,自动设置特色图片还是挺有必要的!

              • avatar 拉萨虫草@来路自动链 来自天朝的朋友 Safari浏览器  Android 4.4.4 CM810 Build/KTU84P 西藏拉萨市 电信 1

                好麻烦,还要修改代码

                • avatar 明月登楼 来自天朝的朋友 谷歌浏览器 Windows 7 河南省南阳市 电信 4

                  不错,学习收藏了,值得一试的实用代码!

                  • avatar 菊部 来自天朝的朋友 谷歌浏览器 Windows 7 湖北省武汉市 电信 4

                    学习了 感谢分享

                    • avatar 我爱动感单车网 来自天朝的朋友 谷歌浏览器 Windows XP 广西桂林市 电信 7

                      :grin: 不喜欢,我的博客也用不上这个功能!

                      • avatar 墨丶水瓶 来自天朝的朋友 谷歌浏览器 Windows 8 北京市 电信通 4

                        我也留个言,假装看过了 ….

                        • avatar 小萝博客 来自天朝的朋友 谷歌浏览器 Windows 7 广东省珠海市 电信 2

                          有图才美观

                          • avatar 励志语录 来自天朝的朋友 谷歌浏览器 Windows 7 浙江省杭州市 联通 5

                            不错。

                            • avatar BanYuner 来自天朝的朋友 谷歌浏览器 Windows 10 湖北省武汉市 联通 4

                              确实是 但是我相信更多人比较喜欢 当没有设置特色图的时候 自动选择文中第一张图片作为缩略图 这个功能吧

                                • avatar Win7en乐园 来自天朝的朋友 谷歌浏览器  Nexus 5X Build/NBD90W) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.124 Mobile Safari/537.36 江苏省苏州市 电信 7

                                  @BanYuner 嗯,经常会忘,不过很多主题都能自动调用第一张哈

                                    • avatar BanYuner 来自天朝的朋友 谷歌浏览器 Windows 10 湖北省 电信 4

                                      @Win7en乐园 恩恩 基本都是这样的设置 还是比较有效的

                                  • avatar 远方的雪山 来自天朝的朋友 谷歌浏览器 Windows 10 江西省九江市 电信 4

                                    感觉不是很实用嘛,只是为了显示缩略图,如果没有特色图像再显示文章第一张图片,是不是特色图像关系应该不大。

                                    • avatar Win7en乐园 来自天朝的朋友 谷歌浏览器  Nexus 5X Build/NBD90W) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.124 Mobile Safari/537.36 江苏省苏州市 电信 7

                                      鸟哥早上好,今天你应该写一篇文章啦,哈哈

                                      • avatar Alice 来自天朝的朋友 谷歌浏览器  MZ-m1 note Build/LMY47D) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/45.0.2454.94 Mobile Safari/537.36 河北省保定市 移动 1

                                        像我这样,事先把图片裁剪成特色图片设置的大小,wp还会再次剪裁吗?

                                        • avatar 得得得 来自天朝的朋友 谷歌浏览器 Windows 7 广东省深圳市 电信 0

                                          评论测试

                                          • avatar 某喵的光 来自天朝的朋友 火狐浏览器 Windows 10 江苏省苏州市 电信 1

                                            我也留个言,假装看过了 ….

                                            • avatar 我爱动感单车网 来自天朝的朋友 谷歌浏览器 Windows XP 广西桂林市 电信 7

                                              非常的期待,能够尽快看到鸟哥的新文章!

                                              • avatar zmingcx 来自天朝的朋友 谷歌浏览器 Windows 8.1 辽宁省沈阳市 电信 0

                                                回复测试邮件

                                                • avatar 刚哥笔记 来自天朝的朋友 QQ浏览器  Android 4.4.2 CHM-TL00 Build/HonorCHM-TL00 广东省广州市 电信 3

                                                  对于自动裁剪的多个尺寸图片,我是审查元素后,把没用上的给删了,不然非常占空间。

                                                  • avatar 微部落博客 来自天朝的朋友 谷歌浏览器 Windows 10 江苏省常州市 电信 3

                                                    这个功能倒是用的不多。。。

                                                    • avatar 阿里书籍 来自天朝的朋友 谷歌浏览器 Windows 10 四川省自贡市 电信 5

                                                      不错的 支持

                                                      • avatar 博客之家 Hong Kong 火狐浏览器 Unknow Os 香港 特别行政区 0

                                                        我们已收录贵博,欢迎回访!

                                                        • avatar 明月登楼 来自天朝的朋友 谷歌浏览器  MI 4LTE Build/MMB29M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.94 Mobile Safari/537.36 河南省南阳市 电信 4

                                                          为啥我设定了特色图片后,首页就错位了!

                                                          • avatar 美丫美搭网 来自天朝的朋友 谷歌浏览器 Windows 7 湖北省 电信 1

                                                            亲爱的博主,请教下怎样禁止移动端网站被强行转码呀?

                                                              • avatar 知更鸟 Admin 来自天朝的朋友 火狐浏览器 Windows 7 辽宁省沈阳市 电信

                                                                @美丫美搭网 http://zmingcx.com/baidu-transcoding-is-prohibited.html