4

我正在使用 wordpress 的高级自定义字段插件,这意味着我的一些页面中的内容编辑器已经失效,所以我想在某些页面上禁用它们。我确实在某些网站上找到了下面的代码,但这会在后端Undefined index: postUndefined index: post_ID

add_action( 'admin_init', 'hide_editor' );

function hide_editor() {
    // Get the Post ID.
    $post_id = $_GET['post'] ? $_GET['post'] : $_POST['post_ID'] ;
    if( !isset( $post_id ) ) return;

    // Get the name of the Page Template file.
    $template_file = get_post_meta($post_id, '_wp_page_template', true);

    if($template_file == 'contact.php'){ // edit the template name
        remove_post_type_support('page', 'editor');
    }
}
4

1 回答 1

7

使用 PHP 函数 isset() 来修复这个错误:

add_action( 'admin_init', 'hide_editor' );

function hide_editor() {

        // Get the Post ID.
        if ( isset ( $_GET['post'] ) )
        $post_id = $_GET['post'];
        else if ( isset ( $_POST['post_ID'] ) )
        $post_id = $_POST['post_ID'];

    if( !isset ( $post_id ) || empty ( $post_id ) )
        return;

    // Get the name of the Page Template file.
    $template_file = get_post_meta($post_id, '_wp_page_template', true);

    if($template_file == 'contact.php'){ // edit the template name
        remove_post_type_support('page', 'editor');
    }

}
于 2012-08-31T16:45:44.360 回答