web-dev-qa-db-ja.com

ビデオアイコンを選択したサムネイルに変更しますか?

ユーザーがビデオ用のサムネイルを選択できるように、メディア編集フォームにカスタムフィールドを追加しました。これで問題なく動作しますが、このページおよびメディアライブラリでデフォルトのビデオアイコンの代わりにこのサムを使用するにはどうすればよいですか。

デフォルトは 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...
    }
}
1
v3nt

これは3つの簡単なステップで実行できます。

  1. あなたのテーマの中に、すべての新しいアイコン/テーマ/テーマ名/画像/アイコン/を保持するディレクトリを作成してください。
  2. / wp-includes/images/crystal /からすべての画像を新しいディレクトリにコピーします。
  3. Functions.phpファイルのwp_mime_type_iconフィルタにフックします

あなたのフィルタは次のようになります。

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警告またはエラーが表示された場合は、気にする必要はありません。アイコンが表示されている場合は、テーマディレクトリから画像が引き出されているので、画像を制御できます。

イメージファイルの名前は、コアで呼び出されるので変更しないように注意してください。

1
Brian Fegter