WooCommerce: Zmień domyślną zakładkę Moje konto
Opublikowany: 2022-08-02Jak wiesz, po zalogowaniu się i przejściu do Mojego Konta, WooCommerce wyświetla zawartość zakładki „Pulpit nawigacyjny” (nazywany również „Punktem końcowym Pulpitu nawigacyjnego”). Karta Pulpit zawiera domyślną opcję „ Witaj Rodolfo Melogli (nie Rodolfo Melogli? Wyloguj się) Z pulpitu nawigacyjnego konta możesz przeglądać swoje ostatnie zamówienia, zarządzać adresami wysyłki i rozliczeń oraz edytować swoje hasło i dane konta. " wiadomość.
A co, jeśli chcemy ustawić inną zakładkę Moje konto jako domyślną po zalogowaniu, na przykład „Zamówienia” lub „Pobrane” dla firmy WooCommerce z cyfrowym pobieraniem? Cóż, istnieje kilka szybkich i niezbyt szybkich rozwiązań, ciesz się!
Fragment kodu PHP 1: Przekieruj użytkowników do innej zakładki Moje konto
Przekierowując do innej zakładki, gdy ludzie odwiedzają zakładkę „Dashboard”, po prostu mówimy, że chcemy ukryć całą zawartość karty „Dashboard” . Będziesz także musiał usunąć kartę Pulpit nawigacyjny z menu Moje konto.
/**
* @snippet Redirect to new default tab @ WooCommerce My Account
* @how-to Get CustomizeWoo.com FREE
* @author Rodolfo Melogli
* @compatible WooCommerce 6
* @donate $9 https://businessbloomer.com/bloomer-armada/
*/
add_action( 'template_redirect', 'bbloomer_my_account_redirect_to_downloads' );
function bbloomer_my_account_redirect_to_downloads(){
if ( is_account_page() && empty( WC()->query->get_current_endpoint() ) ) {
wp_safe_redirect( wc_get_account_endpoint_url( 'orders' ) );
exit;
}
}
W tym przypadku wybraliśmy zakładkę „zamówienia”. Możesz znaleźć inne identyfikatory zakładki Moje konto WooCommerce, patrząc na ten inny post.
Fragment kodu PHP 2: Ustaw inną kartę Moje konto jako domyślną (ale zachowaj pulpit nawigacyjny)
Możesz w ogóle nie chcieć ukrywać karty Pulpit nawigacyjny i po prostu ustawić inną jako domyślną . W takim przypadku nie możemy użyć fragmentu przekierowania, ponieważ w przeciwnym razie panel nigdy się nie pojawi.
Niestety na dzień dzisiejszy nie ma czystego rozwiązania (nawet jeśli zmienisz kolejność zakładek Moje konto, zawartość zakładki Dashboard wyświetli się po załadowaniu) – musimy znaleźć obejście.
To obejście:
- zastępuje zawartość zakładki „Pulpit nawigacyjny” na wybraną przez Ciebie zawartość zakładki (np. zawartość zakładki „Pobrane”)
- zmienia nazwę karty „Pulpit nawigacyjny” na dowolną (w naszym przykładzie „Pobrane”)
- ukrywa oryginalną zakładkę „Pobrane”, tak jak już ją mamy
- odczytuje zakładkę „Pulpit nawigacyjny” jako pierwszą zakładkę wraz z jej zawartością
Część 1 – Zastąp zawartość karty Pulpit nawigacyjny zawartością karty Pobrane
Pamiętaj, że woocommerce_account_downloads() to funkcja odpowiedzialna za wyświetlanie karty Pobrane. Zawartość innych kart znajdziesz w tym samouczku.
/**
* @snippet Replace tab content @ WooCommerce My Account
* @how-to Get CustomizeWoo.com FREE
* @author Rodolfo Melogli
* @compatible WooCommerce 6
* @donate $9 https://businessbloomer.com/bloomer-armada/
*/
add_action( 'woocommerce_account_content', 'bbloomer_myaccount_replace_dashboard_content', 1 );
function bbloomer_myaccount_replace_dashboard_content() {
remove_action( 'woocommerce_account_content', 'woocommerce_account_content', 10 );
add_action( 'woocommerce_account_content', 'bbloomer_account_content' );
}
function bbloomer_account_content() {
global $wp;
if ( empty( $query_vars = $wp->query_vars ) || ( ! empty( $query_vars ) && ! empty( $query_vars['pagename'] ) ) ) {
woocommerce_account_downloads();
} else {
foreach ( $wp->query_vars as $key => $value ) {
if ( 'pagename' === $key ) {
continue;
}
if ( has_action( 'woocommerce_account_' . $key . '_endpoint' ) ) {
do_action( 'woocommerce_account_' . $key . '_endpoint', $value );
return;
}
}
}
}
Część 2 – Zmień nazwę zakładki Dashboard na Pobrane
/**
* @snippet Rename tab @ WooCommerce My Account
* @how-to Get CustomizeWoo.com FREE
* @author Rodolfo Melogli
* @compatible WooCommerce 6
* @donate $9 https://businessbloomer.com/bloomer-armada/
*/
add_filter( 'woocommerce_account_menu_items', 'bbloomer_myaccount_rename_dashboard_tab_title', 9999 );
function bbloomer_myaccount_rename_dashboard_tab_title( $items ) {
$items['dashboard'] = 'Downloads';
return $items;
}
Część 3 – Usuń oryginalną kartę Pobrane
/**
* @snippet Remove tab @ WooCommerce My Account
* @how-to Get CustomizeWoo.com FREE
* @author Rodolfo Melogli
* @compatible WooCommerce 6
* @donate $9 https://businessbloomer.com/bloomer-armada/
*/
add_filter( 'woocommerce_account_menu_items', 'bbloomer_myaccount_remove_orders_tab', 9999 );
function bbloomer_myaccount_remove_orders_tab( $items ) {
unset( $items['downloads'] );
return $items;
}
Część 4 – Zakładka Przeczytany pulpit
Uwaga: musisz ponownie zapisać permalinki WordPress, gdy fragment jest aktywny.
/**
* @snippet Readd Dashboard tab @ WooCommerce My Account
* @how-to Get CustomizeWoo.com FREE
* @author Rodolfo Melogli
* @compatible WooCommerce 6
* @donate $9 https://businessbloomer.com/bloomer-armada/
*/
add_action( 'init', 'bbloomer_myaccount_add_dashboard_endpoint' );
function bbloomer_myaccount_add_dashboard_endpoint() {
add_rewrite_endpoint( 'mydashboard', EP_ROOT | EP_PAGES );
}
add_filter( 'query_vars', 'bbloomer_query_vars', 0 );
function bbloomer_query_vars( $vars ) {
$vars[] = 'mydashboard';
return $vars;
}
add_filter( 'woocommerce_account_menu_items', 'bbloomer_add_new_dashboard_to_my_account' );
function bbloomer_add_new_dashboard_to_my_account( $items ) {
$items = array( 'mydashboard' => 'Dashboard' ) + $items;
return $items;
}