ユーザーがビデオ用のサムネイルを選択できるように、メディア編集フォームにカスタムフィールドを追加しました。これで問題なく動作しますが、このページおよびメディアライブラリでデフォルトのビデオアイコンの代わりにこのサムを使用するにはどうすればよいですか。
デフォルトは http://sandbox.modernactivity.co.uk/waspface_wp/wp-includes/images/crystal/video.png です。
updateの一部を取得しましたが、この状況でカスタムフィールドを取得する方法がわかりません...
function change_mime_icon($icon, $mime = null, $post){
$thumb = get_post_meta($post->ID,'_videoThumb', true); // needs to be attachment id?
if($thumb){ // videoThumb
$icon = str_replace(get_bloginfo('wpurl').'/wp-includes/images/crystal/', WP_CONTENT_URL . '/uploads/'.$thumb, $icon);
return $icon;
}else{
//leave as is...
}
}
これは3つの簡単なステップで実行できます。
あなたのフィルタは次のようになります。
function change_mime_icon($icon, $mime = null, $post_id = null){
$icon = str_replace(get_bloginfo('wpurl').'/wp-includes/images/crystal/', WP_CONTENT_URL . '/themes/theme-name/images/icons/', $icon);
return $icon;
}
add_filter('wp_mime_type_icon', 'change_mime_icon');
これが機能していることを確認するには、メディアライブラリを開き、メディアギャラリーを参照します。 PHP警告またはエラーが表示された場合は、気にする必要はありません。アイコンが表示されている場合は、テーマディレクトリから画像が引き出されているので、画像を制御できます。
イメージファイルの名前は、コアで呼び出されるので変更しないように注意してください。