Automattic\WooCommerce\Admin\Features\Navigation

Menu::add_item()private staticWC 1.0

Adds a child menu item to the navigation.

Method of the class: Menu{}

No Hooks.

Return

null. Nothing (null).

Usage

$result = Menu::add_item( $args );
$args(array) (required)
Array containing the necessary arguments.
php $args = array( 'id' => (string) The unique ID of the menu item. Required. 'title' => (string) Title of the menu item. Required. 'parent' => (string) Parent menu item ID. 'capability' => (string) Capability to view this menu item. 'url' => (string) URL or callback to be used. Required. 'order' => (int) Menu item order. 'migrate' => (bool) Whether or not to hide the item in the wp admin menu. 'menuId' => (string) The ID of the menu to add the item to. 'matchExpression' => (string) A regular expression used to identify if the menu item is active. ).

Menu::add_item() code WC 8.7.0

private static function add_item( $args ) {
	if ( ! isset( $args['id'] ) ) {
		return;
	}

	if ( isset( self::$menu_items[ $args['id'] ] ) ) {
		wc_doing_it_wrong(
			__METHOD__,
			sprintf(
				/* translators: 1: Duplicate menu item path. */
				esc_html__( 'You have attempted to register a duplicate item with WooCommerce Navigation: %1$s', 'woocommerce' ),
				'`' . $args['id'] . '`'
			),
			'6.5.0'
		);

		return;
	}

	$defaults           = array(
		'id'         => '',
		'title'      => '',
		'capability' => 'manage_woocommerce',
		'url'        => '',
		'order'      => 100,
		'migrate'    => true,
		'menuId'     => 'primary',
	);
	$menu_item          = wp_parse_args( $args, $defaults );
	$menu_item['title'] = wp_strip_all_tags( wp_specialchars_decode( $menu_item['title'] ) );
	$menu_item['url']   = self::get_callback_url( $menu_item['url'] );

	if ( ! isset( $menu_item['parent'] ) ) {
		$menu_item['parent'] = 'woocommerce';
	}

	$menu_item['menuId'] = self::get_item_menu_id( $menu_item );

	self::$menu_items[ $menu_item['id'] ]       = $menu_item;
	self::$categories[ $menu_item['parent'] ][] = $menu_item['id'];

	if ( isset( $args['url'] ) ) {
		self::$callbacks[ $args['url'] ] = $menu_item['migrate'];
	}
}