web-dev-qa-db-ja.com

注目の画像メタボックスを削除する

Featured Imageメタボックスを削除するにはどうすればよいですか。私はremove_meta_box関数を使用してbox IDを指定しようとしましたが、他のネイティブなメタボックスのようには動作しないようです。

これが私が試した特定のコードです:

add_action( 'admin_menu', 'remove_thumbnail_box' );

function remove_thumbnail_box() {
    remove_meta_box( 'postimagediv', 'post', 'side' );
}
7
matt

私はこれをテストする時間がありませんでした、しかしこれはそれがあなたのために働くべきであるように見えます。

add_action('do_meta_boxes', 'remove_thumbnail_box');

function remove_thumbnail_box() {
    remove_meta_box( 'postimagediv','post','side' );
}

more info でこれをチェックしてください。

編集: ここでの主な変更はあなたがadmin_menuの代わりにdo_meta_boxesに関数をアタッチする必要があるということです。

17
PNMG

投稿のサムネイルは、この投稿タイプをサポートするものとして投稿タイプに追加されます。投稿の種類から投稿のサムネイル機能を削除する場合は、remove_post_type_support()を呼び出します。通常の投稿もカスタム投稿の種類として定義されているので、それらについても機能するはずです。

add_action( 'init', 'wpse4936_init', 100 /* Something high, to make sure all post types are registered */ );
function wpse4936_init()
{
    remove_post_type_support( 'post', 'post-thumbnail' );
    // Or remove it for all registerd types
    foreach ( get_post_types() as $post_type ) {
        remove_post_type_support( $post_type, 'post-thumbnail' );
    }
}
4
Jan Fabry
add_action('do_meta_boxes', 'remove_thumbnail_box');
function remove_thumbnail_box($post_type) {
    remove_meta_box( 'postimagediv', 'post.php', 'side' );
}

アクションdo_meta_boxesを呼び出す際に、 "post"の代わりに "post.php"をポストタイプとしても使用する場合、Wordpressは機能のある画像のみを無効にするようです。関数wp_get_current_user()が使用可能になる前にdo_meta_boxesが起動するように思われるので、ユーザーの種類に基づいて無効にすることはできません。たぶん他の誰かが回避策を知っているかもしれません。

0
SurferJoe