WPSEO_Admin_Menu::register_settings_page()publicYoast 1.0

Registers the menu item submenus.

Метод класса: WPSEO_Admin_Menu{}

Хуков нет.

Возвращает

null. Ничего (null).

Использование

$WPSEO_Admin_Menu = new WPSEO_Admin_Menu();
$WPSEO_Admin_Menu->register_settings_page();

Код WPSEO_Admin_Menu::register_settings_page() Yoast 22.3

public function register_settings_page() {
	$manage_capability   = $this->get_manage_capability();
	$page_identifier     = $this->get_page_identifier();
	$admin_page_callback = $this->get_admin_page_callback();

	// Get all submenu pages.
	$submenu_pages = $this->get_submenu_pages();

	foreach ( $submenu_pages as $submenu_page ) {
		if ( WPSEO_Capability_Utils::current_user_can( $submenu_page[3] ) ) {
			$manage_capability   = $submenu_page[3];
			$page_identifier     = $submenu_page[4];
			$admin_page_callback = $submenu_page[5];
			break;
		}
	}

	foreach ( $submenu_pages as $index => $submenu_page ) {
		$submenu_pages[ $index ][0] = $page_identifier;
	}

	/*
	 * The current user has the capability to control anything.
	 * This means that all submenus and dashboard can be shown.
	 */
	global $admin_page_hooks;

	add_menu_page(
		'Yoast SEO: ' . __( 'Dashboard', 'wordpress-seo' ),
		'Yoast SEO ' . $this->get_notification_counter(),
		$manage_capability,
		$page_identifier,
		$admin_page_callback,
		$this->get_icon_svg(),
		99
	);

	// Wipe notification bits from hooks.
	// phpcs:ignore WordPress.WP.GlobalVariablesOverride -- This is a deliberate action.
	$admin_page_hooks[ $page_identifier ] = 'seo';

	// Add submenu items to the main menu if possible.
	$this->register_submenu_pages( $submenu_pages );
}