在某些模板上隐藏所见即所得编辑器

时间:2016-10-11 作者:kcroake88

我希望这个标题有意义。我当前想在某些页面上隐藏默认的所见即所得编辑器,但在其他页面上显示它。

函数文件是否有过滤器或挂钩?

2 个回复
最合适的回答,由SO网友:Max Yudin 整理而成

我希望我正确理解了你的问题。

以下代码将使用特定模板从页面中删除编辑器:

<?php

function wpse242371_remove_editor_from_some_pages()
{
    global $post;

    if( ! is_a($post, \'WP_Post\') ) {
        return;
    }


    /* basename is used for templates that are in the subdirectory of the theme */
    $current_page_template_slug = basename( get_page_template_slug($post_id) );

    /* file names of templates to remove the editor on */
    $excluded_template_slugs = array(
        \'tmp_file_one.php\',
        \'tmp_file_two.php\',
        \'tmp_file_three.php\'
    );

    if( in_array($current_page_template_slug, $excluded_template_slugs) ) {
        /* remove editor from pages */
        remove_post_type_support(\'page\', \'editor\');
        /* if needed, add posts or CPTs to remove the editor on */
        // remove_post_type_support(\'post\', \'editor\');
        // remove_post_type_support(\'movies\', \'editor\');
    }

}

add_action(\'admin_enqueue_scripts\', \'wpse242371_remove_editor_from_some_pages\');

SO网友:Patrick S

remove_post_type_support( \'page\', \'editor\' );
您可以通过多种方式使用它,在页面中设置一个复选框会很好,如果选中该复选框,将隐藏编辑器。

有关更多信息>https://codex.wordpress.org/Function_Reference/remove_post_type_support