web-dev-qa-db-ja.com

プログラムでポストで注目の画像を追加/割り当てまたは変更するにはどうすればいいですか?

私は(他の機能の他に)既存のコンテンツから投稿するプラグインを書きました。投稿ごとに1枚の写真があります - どのようにそれらをプログラムで特色にするか

私はします:

$id =  wp_insert_post( $my_post );
wp_set_object_terms( $id, $cat_ids, 'category' );

そして私の次のステップは、注目の画像として$ image(ファイルパスまたはURI)を挿入することです。どうやって?

前もって感謝します。

4

set_post_thumbnail() を使用してみてください。

注目画像を設定する$post(IDまたはオブジェクト)、および注目画像として設定する画像の$thumbnail_id(ID)を決定する方法が既にわかっているとします。

set_post_thumbnail( $post, $thumbnail_id );
7
Chip Bennett

set_post_thumbnail は指定されたidの投稿にidから添付ファイルを1つ設定することを許可します。

添付ファイルIDがない場合、またはURLから直接作成する場合は、まず添付ファイルを作成する必要があります。 wp_insert_attachment を参照してください。

media_sideload_image を使用して画像をアップロードすることもできます。

3
Mridul Aggarwal

wp_insert_attachment() および wp_generate_attachment_metadata() を使用して、画像を投稿への添付ファイルにすることができます。そして set_post_thumbnail() を使用して、それを注目の画像にします。 (これは本当にカスタムフィールド_thumbnail_idです。
何かのようなもの:

$attach_id   = wp_insert_attachment( $attachment, $filename, $post_id );
$attach_data = wp_generate_attachment_metadata( $attach_id, $filename );
wp_update_attachment_metadata( $attach_id,  $attach_data );
set_post_thumbnail( $post_id, $attach_id );
3
windyjonas

おすすめ画像をプログラムで設定します。

function setFeaturedImages() {

$base = dirname(__FILE__);
$imgfile= $base.DS.'images'.DS.'14'.DS.'Ascot_Anthracite-Grey-1.jpg';
$filename = basename($imgfile);
$upload_file = wp_upload_bits($filename, null, file_get_contents($imgfile));
if (!$upload_file['error']) {
    $wp_filetype = wp_check_filetype($filename, null );
    $attachment = array(
        'post_mime_type' => $wp_filetype['type'],
        'post_parent' => 0,
        'post_title' => preg_replace('/\.[^.]+$/', '', $filename),
        'post_content' => '',
        'post_status' => 'inherit'
    );
$attachment_id = wp_insert_attachment( $attachment, $upload_file['file'], 209 );

if (!is_wp_error($attachment_id)) {
    require_once(ABSPATH . "wp-admin" . '/includes/image.php');
    $attachment_data = wp_generate_attachment_metadata( $attachment_id, $upload_file['file'] );
    wp_update_attachment_metadata( $attachment_id,  $attachment_data );
}

set_post_thumbnail( 209, $attachment_id );

}

}

詳しい説明はチュートリアルを参照してください。 http://www.pearlbells.co.uk/insert-udpate-wordpress-post-programatically/ /

0
Liz Eipe C