WP_Customize_Nav_Menus::render_nav_menu_partial( WP_Customize_Partial $partial, array $nav_menu_args ): string|false

Renders a specific menu via wp_nav_menu() using the supplied arguments.

Description

See also

Parameters

$partialWP_Customize_Partialrequired
Partial.
$nav_menu_argsarrayrequired
Nav menu args supplied as container context.

Return

string|false

Source

public function render_nav_menu_partial( $partial, $nav_menu_args ) {
	unset( $partial );

	if ( ! isset( $nav_menu_args['args_hmac'] ) ) {
		// Error: missing_args_hmac.
		return false;
	}

	$nav_menu_args_hmac = $nav_menu_args['args_hmac'];
	unset( $nav_menu_args['args_hmac'] );

	ksort( $nav_menu_args );
	if ( ! hash_equals( $this->hash_nav_menu_args( $nav_menu_args ), $nav_menu_args_hmac ) ) {
		// Error: args_hmac_mismatch.
		return false;
	}

	ob_start();
	wp_nav_menu( $nav_menu_args );
	$content = ob_get_clean();

	return $content;
}

Changelog

VersionDescription
4.3.0Introduced.

User Contributed Notes

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