禁用特定页面的内容编辑器

时间:2016-11-22 作者:Nsokyi

我知道如何在单个特定页面上阻止内容编辑器,但我希望在多个页面上阻止它。

在下面的代码中,如果在下面添加另一个页面文件,则所有内容都会中断。

是否有一种方法可以引用多个模板文件?

谢谢

function wpcs_disable_content_editor() {

$post_id = $_GET[\'post\'] ? $_GET[\'post\'] : $_POST[\'post_ID\'] ;

if( !isset( $post_id ) ) return;

$template_file = get_post_meta($post_id, \'_wp_page_template\', true);

if ( $template_file == \'page-custom-one.php\', \'page-custom-two.php\' ) {
    remove_post_type_support( \'page\', \'editor\' );
}
}add\\u操作(\'admin\\u init\',\'wpcs\\u disable\\u content\\u editor\');

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

if条件错误并生成语法错误。你需要一个logical operator 检查多个条件。因此,您的代码应该如下所示:

if ( $template_file === \'page-custom-one.php\' || $template_file === \'page-custom-two.php\' ) {
  remove_post_type_support( \'page\', \'editor\' );
}
您还可以使用in_array 功能如下:

if ( in_array($template_file, [\'page-custom-one.php\', \'page-custom-two.php\'], TRUE) ) {
  remove_post_type_support( \'page\', \'editor\' );
}
此外,您应该始终使用严格的比较而不是松散的比较,以防止意外行为。