• Вопрос без рабочей ссылки на проблему считается риторическим. Без ссылки и скриншота - провокацией!

Решено Скрыть ненужное "Мой аккаунт"

Dron

Новичок
#1



Доброго времени! Помогите убрать ненужное в http://.../my-account:

1)Заменить название кнопки "Консоль"и выделенный текст/удалить вместе с кнопкой "Консоль".

2)Удалить кнопку "Адреса".

3)Убрать поля для смены пароля.

Видел плагины но они все платные, помогите разобраться как ето сделать без затрат!?
Тема: Storefront Версия: 2.0.7
 

Dron

Новичок
#3

searchingman

Гуру
Местный
#4
1)Заменить название кнопки "Консоль"и выделенный текст/удалить вместе с кнопкой "Консоль".

2)Удалить кнопку "Адреса".

3)Убрать поля для смены пароля.
Для WooCommerce 2.6.x :
1. Изменения для вкладки "Консоль"
1.1. Для изменения текста "Консоль" в functions.php своей темы вставляем код.
PHP:
function my_woocommerce_account_menu_items($items) {
    $items['dashboard'] = "Моя консоль";
    return $items;
}
add_filter( 'woocommerce_account_menu_items', 'my_woocommerce_account_menu_items', 10 );
В результате (см. скриншот)
1.2. Чтобы убрать (заменить) текст на вкладке "Консоль" нужно скопировать правильно шаблон \wp-content\plugins\woocommerce\templates\myaccount\dashboard.php в свою тему и убрать лишнее. (см. скриншот)

2. Для удаления любой вкладки достаточно в административной части удалить нужные "Эндпоинты Моего аккаунта" (WooCommerce -> Настройки -> Аккаунты)
Для скрытие вкладки адреса см. скриншот. В результате см. скриншот.

Есть еще вариант через хуки скрыть нужную вкладку, если не подойдет предыдущий способ.
В functions.php свой темы вставить код, раскомментировав то, что нужно скрыть.
PHP:
function my_woocommerce_account_menu_items($items) {
    // unset($items['dashboard']);         // убрать вкладку Консоль
    // unset($items['orders']);             // убрать вкладку Заказы
    // unset($items['downloads']);         // убрать вкладку Загрузки
    // unset($items['edit-address']);         // убрать вкладку Адреса
    // unset($items['edit-account']);         // убрать вкладку Детали учетной записи
    // unset($items['customer-logout']);     // убрать вкладку Выйти
    return $items;
}

add_filter( 'woocommerce_account_menu_items', 'my_woocommerce_account_menu_items', 10 );
3. Для вкладки "Детали учетной записи" используется шаблон \wp-content\plugins\woocommerce\templates\myaccount\form-edit-account.php. Копируем его в свою тему и удаляем вывод ненужных данных.
В итоге см. скриншот.
 
Последнее редактирование:

mulch

Форумчанин
#5
А как убрать лишние поля на странице редактирования адреса? Я пока не понимаю "птичий язык" php и в файлах form-edit-address.php и class-wc-form-handler.php не смог разгадать, что там за это отвечает. Сайт - loribus.ru
ПС. display: none не предлагать, т.к. убрать - значит не создавать в итоговом html страницы.
 

Вложения

mulch

Форумчанин
#7
Спасибо, но думаю для таких вещей достаточно будет прописать что нить в своем functions.php, как я это сделал на странице формления заказа и т.п. - т.е. без дополнительных плагинов. Пока не могу найти какие хуки и т.п. за эти поля отвечают.
 

Darja

Новичок
#8
2. Для удаления любой вкладки достаточно в административной части удалить нужные "Эндпоинты Моего аккаунта" (WooCommerce -> Настройки -> Аккаунты)
Для скрытие вкладки адреса см. скриншот. В результате см. скриншот.
все гениально просто. спасибо большое за советы!