0

古い W​​ordPress Web サイトを持っています。当時、アイキャッチ画像は一般的ではありませんでした。そのため、サムネイル用のカスタム コードを作成しました。

テーマを変更し、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 に答える