在特定页面上隐藏内容框(在管理员中)?

时间:2012-10-17 作者:qwerty

这有可能吗?

在某些页面中,我使用自定义框插件,并且不需要在其中一些页面上显示内容框。是否可以按页面模板隐藏它?或ID(如果无法使用模板)?

4 个回复
SO网友:unkulunkulu

最后,我对userabuser的答案进行了一点修改,因为在init上似乎不存在全局$post。您可以只查询post 在querystring中,就像这样:

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\');

SO网友:Mridul Aggarwal

将此添加到函数。php

add_action(\'init\', \'remove_content_editor\');

function remove_content_editor() {
    remove_post_type_support( \'posttype\', \'editor\' );
}
将posttype替换为posttype的名称。它将从该帖子类型的页面中删除内容编辑器

SO网友:Adam

要删除基于模板的编辑器,可以执行以下操作:;

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\' );
    }

}

SO网友:Mndr

下面的代码适合我。(特定页面或模板)

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\');
    }
}

结束