0

我有一个旧的 WordPress 网站。特色图片在当时并不常见。所以我为缩略图编写了自定义代码。

现在我改变了我的主题,更新了 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');

这个对我有用。

4

1 回答 1

1

尝试这个:

$args = array(
            'post_type'     => 'posts',
            'numberposts'   => -1,
        );
    $posts = get_posts($args);
    foreach($posts as $post_temp){
        $args = array(
            'post_type'     => 'attachment',
            'numberposts'   => 1,
            'post_parent'   => $post_temp->id,
            'orderby'       => 'post_date',
            'order'         => 'DESC'
        );
        $attachment = get_posts($args);

        set_post_thumbnail( $post_temp->id, $attachment->id ); 
    }
于 2013-05-08T12:38:49.353 回答