WPSEO_Admin_Bar_Menu::add_settings_submenu
Adds the admin bar settings submenu.
Метод класса: WPSEO_Admin_Bar_Menu{}
Хуков нет.
Возвращает
null. Ничего (null).
Использование
// protected - в коде основоного (родительского) или дочернего класса $result = $this->add_settings_submenu( $wp_admin_bar );
- $wp_admin_bar(WP_Admin_Bar) (обязательный)
- Admin bar instance to add the menu to.
Код WPSEO_Admin_Bar_Menu::add_settings_submenu() WPSEO Admin Bar Menu::add settings submenu Yoast 27.7
protected function add_settings_submenu( WP_Admin_Bar $wp_admin_bar ) {
if ( ! $this->can_manage_options() ) {
return;
}
$admin_menu = new WPSEO_Admin_Menu( new WPSEO_Menu() );
$submenu_pages = $admin_menu->get_submenu_pages();
$menu_args = [
'parent' => self::MENU_IDENTIFIER,
'id' => self::SETTINGS_SUBMENU_IDENTIFIER,
'title' => __( 'SEO Settings', 'wordpress-seo' ),
'meta' => [ 'tabindex' => '0' ],
];
$wp_admin_bar->add_menu( $menu_args );
foreach ( $submenu_pages as $submenu_page ) {
if ( ! current_user_can( $submenu_page[3] ) ) {
continue;
}
// Don't add the Google Search Console menu item.
if ( $submenu_page[4] === 'wpseo_search_console' ) {
continue;
}
// Don't add the Academy menu item (it's now in the main menu).
if ( $submenu_page[4] === 'wpseo_page_academy' ) {
continue;
}
// Don't add the Brand Insights menu items (they're now in the main menu).
if ( $submenu_page[4] === 'wpseo_brand_insights' || $submenu_page[4] === 'wpseo_brand_insights_premium' ) {
continue;
}
$id = 'wpseo-' . str_replace( '_', '-', str_replace( 'wpseo_', '', $submenu_page[4] ) );
if ( $id === 'wpseo-dashboard' ) {
$id = 'wpseo-general';
}
$menu_args = [
'parent' => self::SETTINGS_SUBMENU_IDENTIFIER,
'id' => $id,
'title' => $submenu_page[2],
'href' => admin_url( 'admin.php?page=' . rawurlencode( $submenu_page[4] ) ),
];
$wp_admin_bar->add_menu( $menu_args );
}
}