| ブログトップ | CMS関連 |

wp_insert_attachmentだけではサムネイルが作られない

この記事は1年以上前の記事のため、内容が古い可能性があります。

フォームから送られてきたファイルをメディアに登録されるようにするプログラムを作っていたのですが、実際にメディアには登録されるけど一覧でサムネイルが表示されない・・・

で、Codexをよく見たら、wp_insert_attachmentのあとに下記2つの関数も実行しなくてはならないとのこと

wp_generate_attachment_metadata
wp_update_attachment_metadata

さらにこの関数を実行するには、

require_once( ABSPATH . 'wp-admin/includes/image.php' );

の必要があります。

つまりこんな感じ。


require_once( ABSPATH . 'wp-admin/includes/image.php' );

$attachment = array(
'guid' => "(ファイルのURL)",
'post_mime_type' => "(ファイルのタイプ)",
'post_title' => "(ファイルのタイトル)",
'post_content' => '',
'post_status' => 'inherit'
);

$attach_id = wp_insert_attachment( $attachment, "(ファイル名)", 0);
$attach_data = wp_generate_attachment_metadata( $attach_id, "(ファイルのパス)");
wp_update_attachment_metadata( $attach_id, $attach_data );

これで、メディアに登録される際にサムネイルも生成されるようになりました。

日々の生活にhappyをプラスする|ハピタス

このエントリーをはてなブックマークに追加

LINEで送る

総合管理者 | 2017年12月13日 | コメント(0) | トラックバック(0) | CMS関連

トラックバック

トラックバックURL

コメントする

※メールアドレスが公開されることはありません。

名前 *
メール*
URL
Copyright(c) 2010 - 2024 ダリの雑記