bp_remove_all_filters( string $tag, int|bool $priority = false )

Remove all filters from a WordPress filter hook.

Description

Removed filters are stashed in the $bp global, in case they need to be restored later.

Parameters

$tag

(Required) The filter tag to remove filters from.

$priority

(Optional) If present, only those callbacks attached at a given priority will be removed. Otherwise, all callbacks attached to the tag will be removed, regardless of priority.

Default value: false

Return

(bool) True on success.

Source

File: bp-core/bp-core-theme-compatibility.php

function bp_remove_all_filters( $tag, $priority = false ) {
	global $wp_filter, $merged_filters;

	$bp = buddypress();

	// Filters exist.
	if ( isset( $wp_filter[$tag] ) ) {

		// Filters exist in this priority.
		if ( ! empty( $priority ) && isset( $wp_filter[$tag][$priority] ) ) {

			// Store filters in a backup.
			$bp->filters->wp_filter[$tag][$priority] = $wp_filter[$tag][$priority];

			// Unset the filters.
			unset( $wp_filter[$tag][$priority] );

		// Priority is empty.
		} else {

			// Store filters in a backup.
			$bp->filters->wp_filter[$tag] = $wp_filter[$tag];

			// Unset the filters.
			unset( $wp_filter[$tag] );
		}
	}

	// Check merged filters.
	if ( isset( $merged_filters[$tag] ) ) {

		// Store filters in a backup.
		$bp->filters->merged_filters[$tag] = $merged_filters[$tag];

		// Unset the filters.
		unset( $merged_filters[$tag] );
	}

	return true;
}

Changelog

Changelog
Version Description
BuddyPress 1.7.0 Introduced.

Questions?

We're always happy to help with code or other questions you might have! Search our developer docs, contact support, or connect with our sales team.