如何设置WordPress文章里第一张图为特色图?又如何一键删除特色图?

国人开发的WordPress主题基本上都有自带文章第一张图作为特色图(缩略图)的功能,完全可以不用自己上传特色图片,因为这很符合我们中国人的使用习惯,假设你哪天看到说是国人原创但必须设置特色图片,那么你就要考虑下这个主题是不是汉化后说自己原创。

因为外国人的主题都特么要设置特色图片,要不然不给你显示缩略图。假设你跟我一样,如果厌倦了国产主题,想换个国外主题玩玩,那么第一个问题就是要解决这个特色图片问题了。

我曾经无数次在网上搜索:WordPress文章第一张图作为缩略图。搜索出来的教程均为失败告终,后来我想明白了,缩略图的范围太广了,你看,你上传一张图到媒体库,系统会自动给你裁剪成好几张缩略图,但你也不一定知道这些缩略图在哪里显示,所以,而我们常说的缩略图,其实就是文章列表里面显示的图,这个就是特色图。

所以。只需要搜索“WordPress设置文章里第一张图为特色图片”就轻松搞定了问题,方法如下 ,把下面代码加到functions.php里面


/**
 * WordPress批量设置文章第一张图为特色图像
 */
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');

当你加上这段代码,假设你文章没有特色图,就会自动把文章的第一张图设置成特色图,你随便打开一篇没设置特色图的文章,就会看见,嘿,特色图片那里就会有一张图片了。

但是,如果突然有一天不想让网站显示特色图片了,那怎么办呢,难道要一篇一篇的文章编辑手动删除吗,可以是可以,就是麻烦一点,所以,接下来就分享一个很方便的一键删除所有文章里的特色图片。

把下面代码添加到 functions.php 里面:


/**
 * WordPress 批量删除所有文章的特色图像
 */
global $wpdb;
$attachments = $wpdb->get_results( "
    SELECT * 
    FROM $wpdb->postmeta 
    WHERE meta_key = '_thumbnail_id'
    " );
foreach ( $attachments as $attachment ) {
    wp_delete_attachment( $attachment->meta_value, true );
}
$wpdb->query( "
    DELETE FROM $wpdb->postmeta 
    WHERE meta_key = '_thumbnail_id'
    " );

立马见效,效果明显。该方法不会删除你媒体库里面的图片,也不会删除你文章里面的图片。当你把特色图都删除后,就可以把这个代码删除了,用一次就够了。如果把添加特色图片和删除特色图片的方法结合用,你可能会发现不仅仅很无聊还很好玩呢。

评论0

请先

没有账号? 注册  忘记密码?