Как добавить собственный класс CSS в навигационное меню WooCommerce MyAccount?

Список элементов навигации, используемых на страницах «Моя учетная запись» WooCommerce, кажется, создается динамически.

<nav class = "woocommerce-MyAccount-navigation" aria-label = "Account pages"></nav>

Но я хотел бы добавить собственный класс к элементу навигации. Есть ли специальный способ, позволяющий это сделать? Это то, чего я пытаюсь достичь:

<nav class = "woocommerce-MyAccount-navigation sticky-top" aria-label = "Account pages"></nav>

Все, что я могу найти, это информацию о том, как изменить элементы списка в меню с помощью фильтра woocommerce_account_menu_items.

🤔 А знаете ли вы, что...
В PHP есть много встроенных функций для работы с строками, массивами и файлами.


2
50
1

Ответ:

Решено

Для этого не существует крючка, посмотрите его в файле шаблона myaccount/navigation.php.

Но есть 2 способа добиться этого:

1. переопределив файл шаблона через дочернюю тему

Скопируйте этот файл из плагина WooCommerce в yourchildtheme/woocommerce/myaccount/navigation.php.

Затем вы можете открыть отредактировать этот файл, внести необходимые изменения и сохранить.

2. Используя JavaScript (jQuery), например:
add_action( 'wp_footer', 'my_account_menu_custom_js' );
function my_account_menu_custom_js(){
    if ( is_account_page() ) : ?>
    <script>jQuery('.woocommerce-MyAccount-navigation').addClass('sticky-top');</script>
    <?php endif;
}

Код находится в файле function.php вашей дочерней темы (или в плагине). Проверено и работает.