WordPress开发者和主题制作者的搜索引擎



unregister_taxonomy ›

Since4.5.0
已弃用n/a
unregister_taxonomy ( $taxonomy )
参数:
  • (string) $taxonomy Taxonomy name.
    Required: Yes
返回:
  • (bool|WP_Error) True on success, WP_Error on failure or if the taxonomy doesn't exist.
定义在:
文档:

Unregisters a taxonomy.

Can not be used to unregister built-in taxonomies.



源码

function unregister_taxonomy( $taxonomy ) {
	if ( ! taxonomy_exists( $taxonomy ) ) {
		return new WP_Error( 'invalid_taxonomy', __( 'Invalid taxonomy.' ) );
	}

	$taxonomy_object = get_taxonomy( $taxonomy );

	// Do not allow unregistering internal taxonomies.
	if ( $taxonomy_object->_builtin ) {
		return new WP_Error( 'invalid_taxonomy', __( 'Unregistering a built-in taxonomy is not allowed.' ) );
	}

	global $wp_taxonomies;

	$taxonomy_object->remove_rewrite_rules();
	$taxonomy_object->remove_hooks();

	// Remove the taxonomy.
	unset( $wp_taxonomies[ $taxonomy ] );

	/**
	 * Fires after a taxonomy is unregistered.
	 *
	 * @since 4.5.0
	 *
	 * @param string $taxonomy Taxonomy name.
	 */
	do_action( 'unregistered_taxonomy', $taxonomy );

	return true;
}