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

Remove all filters from a WordPress filter hook.


Description Description

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


Parameters 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


Top ↑

Return Return

(bool) True on success.


Top ↑

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

Top ↑

Changelog Changelog

Changelog
Version Description
1.7.0 Introduced.

Top ↑

User Contributed Notes User Contributed Notes

You must log in before being able to contribute a note or feedback.