[Woocommerce] Как добавить дополнительную вкладку на странице Мой аккаунт

  Автор:
  118

Создаю сайт на заказ интернет-магазин домашней парфюмерии. В магазине использую плагин для добавления товаров в избранные. У плагина есть shortcode для вывода списка избранных. Задача вывести этот список избранных на странице Мой аккаунт в отдельной вкладке. Сам список можно вывести с помощью шорткода.

Также необходимо поменять порядок вкладок, переименовать вкладку Консоль и удалить не нужные вкладки (в моем случае это была вкладка Загрузки).

1. Регистрация нового endpoint

* В коде заменить wishlist на свое название.


add_action( 'init', 'register_wishlist_tab_endpoint');

/**
 * Регистрация нового endpoint.
 *
 * @return void.
 */
function register_wishlist_tab_endpoint() {
	add_rewrite_endpoint( 'wishlist', EP_ROOT | EP_PAGES );
}

2. Добавить фильтр Query Vars

* В коде заменить wishlist на свое название.

add_filter( 'query_vars', 'wishlist_query_vars' );

/**
 * Добавить новый query_vars.
 *
 * @param array $vars vars.
 *
 * @return array An array of items.
 */
function wishlist_query_vars( $vars ) {

	$vars[] = 'wishlist';
	return $vars;
}

3. Добавить новую вкладку

* В коде заменить wishlist на свое название.

add_filter( 'woocommerce_account_menu_items', 'add_wishlist_tab' );

/**
 * Добавляем новую вкладку Список избранных на страницу Мой аккаунт.
 *
 * @param array $items myaccount Items.
 *
 * @return array Items including Wishlist.
 */
function add_wishlist_tab( $items ) {

	$items['wishlist'] = 'Cписок избранных';
	return $items;
}

4. Добавить контент в новую вкладку

* В коде заменить wishlist на свое название и  «сюда вставляем шорткод списка избранных» на шорткод или любой другой контент.

add_action( 'woocommerce_account_wishlist_endpoint', 'add_wishlist_content' );

/**
 * Add content to the wishlist.
 *
 * @return  string.
 */
function add_wishlist_content() {
	echo do_shortcode(' сюда вставляем шорткод списка избранных ');
}

5. Изменить порядок, название и удалить вкладку

Новая вкладка появится автоматически в самом низу. Теперь нужно
1. поменять местами (переместить вкладку Список избранных) перед orders,
2. переименовать вкладку Dashboard в Панель управления
3. удалить вкладку downloads

вот так код выглядит до изменений:


/**
 * Меняем местами и переименовываем и удаляем вкладки.
 */
function reorder_account_menu( $items ) {
    return array(
	'dashboard'          => __( 'Dashboard', 'woocommerce' ),
	'orders'             => __( 'Orders', 'woocommerce' ),
        'downloads'          => __( 'Downloads', 'woocommerce' ),
	'edit-account'       => __( 'Edit Account', 'woocommerce' ),
	'edit-address'       => __( 'Addresses', 'woocommerce' ),
	'customer-logout'    => __( 'Logout', 'woocommerce' ),
        'wishlist'           => __( 'Список избранных', 'woocommerce' ),
    );

}
add_filter ( 'woocommerce_account_menu_items', 'reorder_account_menu' );

А вот так после:


/**
 * Меняем местами и переименовываем и удаляем вкладки.
 */
function reorder_account_menu( $items ) {
    return array(
	'dashboard'          => __( 'Панель управления', 'woocommerce' ),
	'wishlist'           => __( 'Список избранных', 'woocommerce' ),
	'orders'             => __( 'Orders', 'woocommerce' ),
	'edit-account'       => __( 'Edit Account', 'woocommerce' ),
	'edit-address'       => __( 'Addresses', 'woocommerce' ),
	'customer-logout'    => __( 'Logout', 'woocommerce' ),
    );

}
add_filter ( 'woocommerce_account_menu_items', 'reorder_account_menu' );

6. Исправить ошибку 404

И последний шаг. Чтобы контент отобразился во вкладке вместо 404 ошибки, необходимо зайти в раздел Настройки -> постоянные ссылки и нажать на кнопку Сохранить изменения

[Woocommerce] Как добавить дополнительную вкладку на странице Мой аккаунт

   2 голоса
Средняя оценка: 5 из 5
Вам понравилась статья? Буду очень благодарна Вам если поделитесь ею в социальных сетях - просто нажмите на кнопки ниже:

Анфиса Бреус

Анфиса Бреус - специалист по Wordpress с 2007 года. Создатель и разработчик многофункционального шаблона "AB-Inspiration" для самостоятельного создания и профессиональной настройки сайтов разного назначения на WordPress. Основатель клуба "Мастер WordPress" и автор курсов по создании и применению сайтов на WordPress. Фрилансер. Предприниматель. Спикер.

Как создать свой сайт на WordPress с закрытыми и отрытыми онлайн - курсами, с универсальным интернет - магазином, профессиональным блогом и высоко конверсионными лендингами для заработка в интернете 2022
Оставьте свой комментарий:

Ваш адрес email не будет опубликован.

три × один =

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.