The remove_post_type_support() WordPress PHP function removes support for a specific feature from a post type.
Usage
remove_post_type_support( $post_type, $feature );
Example:
remove_post_type_support( 'page', 'editor' );
This will remove the editor feature from the ‘page’ post type.
Parameters
- $post_type (string) – The post type for which to remove the feature.
- $feature (string) – The feature being removed.
More information
See WordPress Developer Resources: remove_post_type_support()
Examples
Hide page visual editor if certain template is selected
This code removes the visual editor for pages with a specific template (e.g. ‘page-your-template.php’).
add_action( 'init', 'remove_editor_init' ); function remove_editor_init() { // If not in the admin, return. if ( ! is_admin() ) { return; } // Get the post ID $current_post_id = filter_input( INPUT_GET, 'post', FILTER_SANITIZE_NUMBER_INT ); $update_post_id = filter_input( INPUT_POST, 'post_ID', FILTER_SANITIZE_NUMBER_INT ); // Check to see if the post ID is set if ( isset( $current_post_id ) ) { $post_id = absint( $current_post_id ); } else if ( isset( $update_post_id ) ) { $post_id = absint( $update_post_id ); } else { return; } // Get the template of the current post $template_file = get_post_meta( $post_id, '_wp_page_template', true ); // Remove page editor for specific template if ( 'page-your-template.php' === $template_file ) { remove_post_type_support( 'page', 'editor' ); } }
Remove support for excerpts
This example removes support for excerpts in posts:
function wpdocs_custom_init() { remove_post_type_support( 'post', 'excerpt' ); } add_action( 'init', 'wpdocs_custom_init' );
Remove support for post formats
This example removes support for post formats in posts:
function wpdocs_remove_post_type_support() { remove_post_type_support( 'post', 'post-formats' ); } add_action( 'init', 'wpdocs_remove_post_type_support', 10 );
Remove comments from all pages
A simple way to remove comments from all pages:
function wpdocs_disable_comments_on_pages() { remove_post_type_support( 'page', 'comments' ); } add_action( 'init', 'wpdocs_disable_comments_on_pages' );