bp_is_action_variable( string $action_variable = '', int|bool $position = false )

Check to see whether the current page matches a given action_variable.


Description Description

Along with bp_is_current_component() and bp_is_current_action(), this function is mostly used to help determine when to use a given screen function.

In BP parlance, action_variables are an array made up of the URL chunks appearing after the current_action in a URL. For example, http://example.com/groups/my-group/admin/group-settings $action_variables[0] is ‘group-settings’.


Top ↑

Parameters Parameters

$action_variable

(string) (Optional) The action_variable being tested against.

Default value: ''

$position

(int|bool) (Optional) The array key you're testing against. If you don't provide a $position, the function will return true if the $action_variable is found *anywhere* in the action variables array.

Default value: false


Top ↑

Return Return

(bool) True if $action_variable matches at the $position provided.


Source Source

File: bp-core/bp-core-template.php

function bp_is_action_variable( $action_variable = '', $position = false ) {
	$is_action_variable = false;

	if ( false !== $position ) {
		// When a $position is specified, check that slot in the action_variables array.
		if ( $action_variable ) {
			$is_action_variable = $action_variable == bp_action_variable( $position );
		} else {
			// If no $action_variable is provided, we are essentially checking to see
			// whether the slot is empty.
			$is_action_variable = !bp_action_variable( $position );
		}
	} else {
		// When no $position is specified, check the entire array.
		$is_action_variable = in_array( $action_variable, (array)bp_action_variables() );
	}

	/**
	 * Filters whether the current page matches a given action_variable.
	 *
	 * @since 1.5.0
	 *
	 * @param bool   $is_action_variable Whether the current page matches a given action_variable.
	 * @param string $action_variable    The action_variable being tested against.
	 * @param int    $position           The array key tested against.
	 */
	return apply_filters( 'bp_is_action_variable', $is_action_variable, $action_variable, $position );
}


Top ↑

Changelog Changelog

Changelog
Version Description
1.5.0 Introduced.

Top ↑

User Contributed Notes User Contributed Notes

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