如果选择了模板,则隐藏页面可视化编辑器-重复

时间:2013-02-28 作者:nimmolo

给出的答案to a previous and identical question 很遗憾,我的WP安装不起作用。

我正在使用推荐的函数版本there.

function nim_hide_editor() {
    $post_id = $_GET[\'post\'] ? $_GET[\'post\'] : $_POST[\'post_ID\'] ;
    $template = get_post_meta( $post_ID , \'_wp_page_template\', true );

    if($template == \'portfolio.php\'){
        /*echo "<style>#postdivrich{display:none;}</style>";*/
        remove_post_type_support( \'page\', \'editor\' );
    }
}
add_action(\'admin_init\', \'nim_hide_editor\');
我加入了注释掉的行,以表明我尝试了响应备选答案中提到的样式标记的技术,但在按页面模板选择时,两者都不起作用。然而

有两件事似乎不一致:

我已经通过CPanel查看了我的SQL数据库,“portfolio.php”确实是存储在post\\u meta中的值,用于我尝试使用它的页面。

  • 按$post\\u ID选择页面,并使用remove_post_type_support, 有效

        if($post_ID == \'13\'){
        remove_post_type_support( \'page\', \'editor\' );
    }
    
    我有点发疯了,好像我已经把所有的东西都检查了三遍。显然,我可以用使用该模板的post\\u ID数组隐藏该编辑器,但这对使用该模板的未来页面不起作用。

  • 1 个回复
    最合适的回答,由SO网友:brasofilo 整理而成

    以下内容对我很有用,用Twenty12进行测试。

    使用load-{$pagenow} 而不是admin_init 避免检查全局$pagenow. 有关更多信息,请参见备注:

    // Run only when editing a page
    // For new pages load-page-new.php should be used
    // See: http://core.trac.wordpress.org/browser/tags/3.5.1/wp-admin/admin.php#L217
    add_action( \'load-page.php\', \'hide_editor_wpse_88886\' );
    
    function hide_editor_wpse_88886() 
    {
        // Not really necessary, but just in case
        if( !isset( $_GET[\'post\'] ) )
            return;
    
        $template = get_post_meta( $_GET[\'post\'] , \'_wp_page_template\', true );
    
        if( \'page-templates/front-page.php\' == $template )
        {
            remove_post_type_support( \'page\', \'editor\' );
        }
    }
    

    结束

    相关推荐

    WP-admin不会在Chrome和Firefox中“记住我”

    当我登录到wp admin时,我会勾选“记住我”,这样下次就不必再次登录了。但是,如果我关闭wp admin选项卡,并在新选项卡中重新打开wp admin,我必须再次登录。或者,如果我浏览到另一个网站,然后返回到wp admin,我必须再次登录。这在Chrome和Firefox中都会发生。这在IE9中不会发生-在IE9中我被记住了。在wp配置中。php,“WP\\u HOME”&;\'WP\\U SITEURL\'设置为相同的值。任何