Size: a a a

WordPress Russian Community

2020 September 27

UC

User Concept in WordPress Russian Community
Владимир Бойко
кстати в том коде которое ты сделал больше второго уровня не выйдет вставить
Да да, пока что сделал только возможность второго уровня, вообще шаблон сохраню полностью
источник

ВБ

Владимир Бойко... in WordPress Russian Community
советую юзать 3 плагина
gulp-svg-sprite, gulp-svgmin, gulp-cheerio
источник

UC

User Concept in WordPress Russian Community
Владимир Бойко
советую юзать 3 плагина
gulp-svg-sprite, gulp-svgmin, gulp-cheerio
Да я раньше сам писал сборки, потом устал переписывать под каждый проект, сейчас уже давно этим решением пользуюсь, хочу сказать что очень удобно:
https://github.com/tars/tars/blob/master/README_RU.md
источник

UC

User Concept in WordPress Russian Community
Там на основе gulp + webpack можно прикрутить, хотя под webpack я свой написал на всякий случай сборщик для проектов на react'е
источник

UC

User Concept in WordPress Russian Community
Владимир Бойко
Забыл отписать.
Если не хочешь делать новый класс Walker, можешь воспользоваться фильтрами что бы почистить классы и ID у стандартного вывода, и выводить меню штатными средствами как рекомендуют с официальной документации

// Remove the <div> surrounding the dynamic navigation to cleanup markup
function my_wp_nav_menu_args($args = '')
{
   $args['container'] = false;
   return $args;
}
// Remove Injected classes, ID's and Page ID's from Navigation <li> items
function my_css_attributes_filter($var)
{
   return is_array($var) ? array() : '';
}

add_filter('wp_nav_menu_args', 'my_wp_nav_menu_args'); // Remove surrounding <div> from WP Navigation
add_filter('nav_menu_css_class', 'my_css_attributes_filter', 100, 1); // Remove Navigation <li> injected classes
add_filter('nav_menu_item_id', 'my_css_attributes_filter', 100, 1); // Remove Navigation <li> injected ID
add_filter('page_css_class', 'my_css_attributes_filter', 100, 1); // Remove Navigation <li> Page ID's
Вот я и не могу понять как делать, ваше решение очень понравилось, т.к. оно минималистичное и легкое в поддержке, кто-то говорит что wp_nav_menu() + Walker это best practice, еще есть фильтры 😂
У самих разработчиков WordPress'а есть может какой-то стандарт, который рекомендует делать меню с кастомными классами каким-то образом ?
источник

ВБ

Владимир Бойко... in WordPress Russian Community
на самом деле я хз и всё еще затрудняюсь генерировать отдельными файлами svg или просто css стили
источник

ВБ

Владимир Бойко... in WordPress Russian Community
хотя была идея все загруженные с админки svg вставлять их код в отдельный спрайт
источник

ВБ

Владимир Бойко... in WordPress Russian Community
User Concept
Вот я и не могу понять как делать, ваше решение очень понравилось, т.к. оно минималистичное и легкое в поддержке, кто-то говорит что wp_nav_menu() + Walker это best practice, еще есть фильтры 😂
У самих разработчиков WordPress'а есть может какой-то стандарт, который рекомендует делать меню с кастомными классами каким-то образом ?
я же тебе 100 раз говорил, выводи стандартными средствами меню
источник

UC

User Concept in WordPress Russian Community
А там в том и кайф, что в tars из под консоли ставится tars cli глобально, а уже на каждый проект локально и при init'e сборщика можно выбирать handlebars/jade/pug, scss/sass/less, способ сборки svg спрайта итд
источник

UC

User Concept in WordPress Russian Community
Владимир Бойко
я же тебе 100 раз говорил, выводи стандартными средствами меню
источник

UC

User Concept in WordPress Russian Community
Владимир Бойко
я же тебе 100 раз говорил, выводи стандартными средствами меню
источник

UC

User Concept in WordPress Russian Community
Владимир Бойко
я же тебе 100 раз говорил, выводи стандартными средствами меню
Вообще запутался уже, вот это как с вашей точки зрения ?
источник

UC

User Concept in WordPress Russian Community
Владимир Бойко
я же тебе 100 раз говорил, выводи стандартными средствами меню
Что имеется ввиду под стандартными средствами ?
источник

ВБ

Владимир Бойко... in WordPress Russian Community
function theme_navigation() {
 if ( function_exists( 'register_nav_menus' ) ) {
   register_nav_menus([
     'header_menu'  => __( 'Верхнее меню', 'custom-theme' ),
   ]);
 }
}
add_action('init', 'theme_navigation');

if ( ! function_exists( 'header_menu' ) ) {
 function header_menu() {
   wp_nav_menu(array(
     'theme_location'  => 'header_menu',
     'menu_class'      => 'horizontal-menu',
     'menu_id'          => '',
     'container'        => '',
     'container_class' => '',
     'container_id'     => '',
     'depth'           => 0,
     'fallback_cb'     => '__return_empty_string',
     'items_wrap'      => '<ul class="%2$s">%3$s</ul>'
   ));
 }
}

ВЫВОД:
<?php if ( function_exists( 'header_menu' ) ) : ?>
         <nav class="top-header__menu"><?php header_menu(); ?></nav>
       <?php endif; ?>
источник

ВБ

Владимир Бойко... in WordPress Russian Community
User Concept
Что имеется ввиду под стандартными средствами ?
вот написал
источник

ВБ

Владимир Бойко... in WordPress Russian Community
1. Регистрируешь область
2. Указываешь параметры
3. Выводишь
источник

ВБ

Владимир Бойко... in WordPress Russian Community
используй фильтры что бы сделать классы для li и ссылок
источник

UC

User Concept in WordPress Russian Community
Т.е. это самый грамотный способ, такой шаблон покатит на theme forest'e к примеру итд ? Такой вывод + фильтры
источник

ВБ

Владимир Бойко... in WordPress Russian Community
это официальный способ
источник

UC

User Concept in WordPress Russian Community
Владимир Бойко
это официальный способ
Ну тогда да, т.е. именно так написано в документации к WordPress ?
источник