Измените ссылку «Howdy» в верхнем правом углу

Я хотел бы изменить, где будет ссылка «Howdy», когда вы нажмете на нее.

У меня есть сайт с buddypress и вместо того, чтобы загружать пользователей на страницу своего профиля, я хочу, чтобы они вошли на вкладку «Активность».

Как я могу изменить ссылку?

Спасибо, Кэт

Solutions Collecting From Web of "Измените ссылку «Howdy» в верхнем правом углу"

Это плохо документировано, но методы add_node и add_menu класса WP_Admin_Bar могут использоваться не только для создания нового меню или узлов, но и для обновления существующего меню или узла.

Поэтому я пошел дальше и отслеживал код, который WordPress изначально использовал для создания этого элемента в панели администратора, реплицировал его, затем внес коррективы в текст Howdy и использовал ссылку примера для Google. Просто внесите свои собственные настройки в соответствии с примером кода.

Пример кода:
Обновите меню учетной записи пользователя в панели администратора.

 function wpse_98066_before_admin_bar_render() { global $wp_admin_bar; if( !method_exists( $wp_admin_bar, 'add_menu' ) ) return; $user_id = get_current_user_id(); $current_user = wp_get_current_user(); $my_url = 'http://www.google.com'; if ( ! $user_id ) return; $avatar = get_avatar( $user_id, 16 ); $howdy = sprintf( __('Hey, nice to see you again, %1$s'), $current_user->display_name ); $class = empty( $avatar ) ? '' : 'with-avatar'; $wp_admin_bar->add_menu( array( 'id' => 'my-account', 'parent' => 'top-secondary', 'title' => $howdy . $avatar, 'href' => $my_url, 'meta' => array( 'class' => $class, 'title' => __('My Account'), ), ) ); } add_action( 'wp_before_admin_bar_render', 'wpse_98066_before_admin_bar_render' ); 

Надеюсь, это поможет, получайте удовольствие. 🙂

Вот более простой и понятный способ: вызвать нужный узел и использовать нужную часть и заменить то, что вы хотите обновить

 function np_replace_howdy($wp_admin_bar){ //New text to replace Howdy $new_text = 'Welcome'; $my_url = 'http://www.google.com'; //Call up the 'my-account' menu node for current values. $my_account = $wp_admin_bar->get_node('my-account'); //Replace the 'Howdy' with new text with string replace $new_title = str_replace('Howdy', $new_text, $my_account->title); //Rebuild the menu using the old node values and the new title. $wp_admin_bar->add_menu(array( 'id' => $my_account->id, 'parent' => $my_account->parent, 'title' => $new_title, 'href' => $my_url, 'group' => $my_account->group, 'meta' => array( 'class' => $my_account->meta['class'], 'title' => $my_account->meta['title'], ), )); } add_action('admin_bar_menu', 'np_replace_howdy', 999);