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

  • A+
所属分类: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号。

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

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin
avatar

发表评论

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