unregister_post_type

函式
unregister_post_type ( $post_type )
引數
  • (string) $post_type Post type to unregister.
    Required:
返回值
  • (true|WP_Error) True on success, WP_Error on failure or if the post type doesn't exist.
定義位置
相關方法
register_post_typeunregister_post_metaunregister_block_typeregister_post_metaregister_block_type
引入
4.5.0
棄用
-

unregister_post_type: 這個函式取消了以前用 register_post_type 函式註冊的自定義文章型別。一旦取消註冊,該文章型別和它的所有資料將從資料庫中刪除。

取消註冊一個文章型別。

不能用於取消註冊內建的文章型別。

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;
}

常見問題

FAQs
檢視更多 >