web-dev-qa-db-ja.com

特定のページのコンテンツボックスを非表示にする(管理者用)

これはどういうわけか可能ですか?

いくつかのページで私はカスタムボックスプラグインを使用します、そして、私はそれらのページのいくつかで内容ボックスを示す必要はありません。ページテンプレートで非表示にすることは可能ですか?またはテンプレートができない場合はID?

1
qwerty

グローバルな$ postがinitに存在していないように思われるので、私はuserabuserの答えを少し修正して使用しました。次のように、代わりにクエリ文字列でpostを問い合わせることができます。

function remove_editor() {
    if (isset($_GET['post'])) {
        $id = $_GET['post'];
        $template = get_post_meta($id, '_wp_page_template', true);

        if($template == 'template_name.php'){ 
            remove_post_type_support( 'page', 'editor' );
        }
    }
}
add_action('init', 'remove_editor');
6
unkulunkulu

これをfunctions.phpに追加してください。

add_action('init', 'remove_content_editor');

function remove_content_editor() {
    remove_post_type_support( 'posttype', 'editor' );
}

Posttypeを投稿タイプの名前に置き換えます。その投稿タイプのページからコンテンツエディタを削除します

2
Mridul Aggarwal

テンプレートに基づいてエディタを削除するには、次のようにします。

add_action('init', 'remove_editor');

function remove_editor() {
    global $post;
    $template = get_post_meta($post->ID, '_wp_page_template', true);

    //change 'page' to whatever post type you want to apply this to.
    if($template == 'template_name.php'){ 
        remove_post_type_support( 'page', 'editor' );
    }

}
1
userabuser

以下のコードは私のために働きます。 (特定のページまたはテンプレート)

add_action('admin_init', 'hide_editor');

function hide_editor() {    
$post_id = $_GET['post'] ? $_GET['post'] : $_POST['post_ID'];

    if (!isset($post_id))
        return;
    // Hide the editor on the page titled 'Press and services' pages
    $hide_page = get_the_title($post_id);
    if ($hide_page == 'press') {
        remove_post_type_support('page', 'editor');
    }
    if ($hide_page == 'Services') {
        remove_post_type_support('page', 'editor');
    }
    // Hide the editor on a page with a specific page template
    // Get the name of the Page Template file.
    $template_file = get_post_meta($post_id, '_wp_page_template', true);
    //---
    if ($template_file == 'template-press.php') { // the filename of the page template
        remove_post_type_support('page', 'editor');
    }
    if ($template_file == 'template-service.php') { // the filename of the page template
        remove_post_type_support('page', 'editor');
    }
}
0
Mndr