unregister_post_type() – Unregisters a post type.

You appear to be a bot. Output may be restricted

Description

Unregisters a post type.

Cannot be used to unregister built-in post types.

Usage

$true|WP_Error = unregister_post_type( $post_type );

Parameters

$post_type
( string ) required – Post type to unregister.

Returns

true|WP_Error True on success, WP_Error on failure or if the post type doesn't exist.

Source

File name: wordpress/wp-includes/post.php
Lines:

1 to 33 of 33
function unregister_post_type( $post_type ) {
  global $wp_post_types;

  if ( ! post_type_exists( $post_type ) ) {
    return new WP_Error( 'invalid_post_type', __( 'Invalid post type.' ) );
  }

  $post_type_object = get_post_type_object( $post_type );

  // Do not allow unregistering internal post types.
  if ( $post_type_object->_builtin ) {
    return new WP_Error( 'invalid_post_type', __( 'Unregistering a built-in post type is not allowed' ) );
  }

  $post_type_object->remove_supports();
  $post_type_object->remove_rewrite_rules();
  $post_type_object->unregister_meta_boxes();
  $post_type_object->remove_hooks();
  $post_type_object->unregister_taxonomies();

  unset( $wp_post_types[ $post_type ] );

  
/**
 * Fires after a post type was unregistered.
 *
 * @since 4.5.0
 *
 * @param string $post_type Post type key.
 */
  do_action( 'unregistered_post_type', $post_type );

  return true;
}
 

 View on GitHub View on Trac