Бесплатная помощь по wordpress

(Ответов: 2451, Просмотров: 246883)
  1. Опытный Аватар для Fktrctq
    • Регистрация: 21.12.2011
    • Сообщений: 457
    • Репутация: 11
    Здравствуйте не откажите в помощи подскажите пожалуйста!
    Данная функция не выводит класс пункта меню
    PHP код:
    class Menu_Description extends Walker_Nav_Menu {
        function 
    start_el(&$output$item$depth$args) {
            global 
    $wp_query;
            
    $class_names = ( $item->current == ) ? 'class="current-menu-item"' '';
            
    $output .= $indent '<li itemprop="name" '.  $class_names .'>';
             
    $attributes = ! empty( $item->attr_title ) ? ' title="' esc_attr$item->attr_title ) .'"' '';
            
    $attributes .= ! empty( $item->target ) ? ' target="' esc_attr$item->target ) .'"' '';
            
    $attributes .= ! empty( $item->xfn ) ? ' rel="' esc_attr$item->xfn ) .'"' '';
            
    $attributes .= ! empty( $item->url ) ? ' href="' esc_attr$item->url ) .'"' '';
               
    $item_output $args->before;
            
    $item_output .= '<a itemprop="url"'$attributes .'>';
            
    $item_output .= $args->link_before apply_filters'the_title'$item->title$item->ID ) . $args->link_after;
            
    $item_output .= '<br /><span class="sub">' $item->description '</span>';
            
    $item_output .= '</a>';
            
    $item_output .= $args->after;
            if( 
    $item->current == ) {// Удаляем из активного пункта меню циклическую ссылку
            
    $item_output $args->before;
            
    $item_output .= '<span class="nolinks">';
            
    $item_output .= $args->link_before apply_filters'the_title'$item->title$item->ID );
            
    $item_output .= '<br /><span class="sub">' $item->description '</span>';
            
    $item_output .= '</span>';
            
    $item_output .= $args->after;}
            
    $output .= apply_filters('walker_nav_menu_start_el'$item_output$item$depth$args );}} 
    который вводится в настройках меню вордпресса
    Нажмите на изображение для увеличения.  Название:	???????? 21-07-2017 204234.jpg  Просмотров:	4  Размер:	8.8 Кб  ID:	23446
    все остальные параметры вводятся: Атрибут title, Отношение к ссылке (XFN),Открывать в новой вкладке За них отвечает коде в функции
    PHP код:
    $attributes = ! empty( $item->attr_title ) ? ' title="' esc_attr$item->attr_title ) .'"' '';
            
    $attributes .= ! empty( $item->target ) ? ' target="' esc_attr$item->target ) .'"' '';
            
    $attributes .= ! empty( $item->xfn ) ? ' rel="' esc_attr$item->xfn ) .'"' '';
            
    $attributes .= ! empty( $item->url ) ? ' href="' esc_attr$item->url ) .'"' ''
    Подскажите пожалуйста что поправить в коде чтобы вводился класс для пункта меню?
    • 0
  2. Новичок
    • Регистрация: 01.07.2016
    • Сообщений: 8
    • Репутация: 1
    Здравствуйте, на вас последняя надежда)

    Я использую версию woocomerce 3.1.1 Подскажите пожалуйста, как вывести минимальную цену для вариативного товара.

    Изначально в woocommerce реализованы отзывы в виде

    Имя, почта, сайт, рейтинг - это стандарт

    Есть ли плагин, который позволит сократить до имя, телефон, рейтинг
    + добавить капчу и чек бокс с согласием на обработку персональных данных


    Можно и платное решение
    • 0
  3. Новичок
    • Регистрация: 14.05.2016
    • Сообщений: 23
    • Репутация: 0
    Всем привет,

    Понадобилось поменять сетку товаров в категории на список. Плагины типа вывод списком не работают. Хотелось бы просто в теме сделать изменения, это же изначально стандартная функция в вукомерс, то есть нужно пофиксить часть настроек самой темы.
    Кто готов помочь либо сделать, пишите лс
    • 0
  4. Дипломник Аватар для nikolay1519
    • Регистрация: 11.08.2013
    • Сообщений: 104
    • Репутация: 19
    • Webmoney BL: ?
    Fktrctq, $item->classes это массив со всеми классами пункта
    При такой настройке: http://my.jetscreenshot.com/11773/20...-movx-35kb.jpg
    Получаем такой массив: http://my.jetscreenshot.com/11773/20...-lmzd-21kb.jpg

    Обычно, выводится так: echo implode(' ', $item->classes);

    Класс current-menu-item и так добавляется, если мы находимся на этой странице.
    Поэтому меняйте строку:

    PHP код:
    $class_names = ( $item->current == ) ? 'class="current-menu-item"' ''
    на:

    PHP код:
    $class_names 'class="' implode(' '$item->classes) . '"'
    • 1

    Спасибо сказали:

    Fktrctq(26.08.2017),
  5. Опытный Аватар для Fktrctq
    • Регистрация: 21.12.2011
    • Сообщений: 457
    • Репутация: 11
    nikolay1519,Оптимизирую шаблон путем сокращения html кода. Строка
    PHP код:
    $class_names = ( $item->current == ) ? 'class="current-menu-item"' ''
    не выводит в каждый пунк меню кучу стандартных классов, а выводит только для активного пункта меню один единственный класс class="current-menu-item" Но в этом случае нет возможности добавить свой класс (то что описывал выше)
    nikolay1519 Не откажите в помощи, подскажите пожалуйста можно ли в эту строчку
    PHP код:
    $class_names = ( $item->current == ) ? 'class="current-menu-item"' ''
    добавить
    PHP код:
    implode(' '$item->classes); 
    чтобы в результате отсутствовали в коде стандартные классы и в тоже время можно было задать свой?
    • 0
  6. Дипломник Аватар для nikolay1519
    • Регистрация: 11.08.2013
    • Сообщений: 104
    • Репутация: 19
    • Webmoney BL: ?
    Fktrctq, можно, но это лишние затраты времени\памяти, пусть и незначительные. Для этого достаточно отфильтровать $item->classes.

    Самый простой вариант, это когда у вас будет один класс (http://my.jetscreenshot.com/11773/20...-oiyt-38kb.jpg), то он всегда будет первым элементом в массиве (если не настроено, первый элемент будет пустым) - http://my.jetscreenshot.com/11773/20...-v52v-52kb.jpg.

    PHP код:
    $classes = array();

    // Если первый элемент не пустой
    if ($item->classes[0] != false$classes[] = $item->classes[0];

    // Если мы находимся в текущем пункте меню
    if ($item->current == 1$classes[] = 'current-menu-item'

    $class_names 'class="' implode(' '$classes) . '"'
    Если через пробел указано несколько классов, каждый класс будет отдельным элементом, тут немного сложнее.

    PHP код:
    $classes = array();

    // Проходимся по всем классам
    foreach ($item->classes as $class) {
        
    // Если название класса не пусто и начинается на menu-item (у всех стандартных классов так,  кроме current-menu-item)
        
    if (!preg_match('#^menu-item#i'$class) && $class != false$classes[] = $class;
    }

    $class_names 'class="' implode(' '$classes) . '"'
    Последний раз редактировалось nikolay1519; 28.08.2017 в 16:04.
    • 1

    Спасибо сказали:

    Fktrctq(28.08.2017),
  7. Опытный Аватар для Fktrctq
    • Регистрация: 21.12.2011
    • Сообщений: 457
    • Репутация: 11
    nikolay1519, а есть возможность от пустых классов избавиться ? В коде страницы у каждого пункта меню class=""
    • 0
  8. Дипломник Аватар для nikolay1519
    • Регистрация: 11.08.2013
    • Сообщений: 104
    • Репутация: 19
    • Webmoney BL: ?
    Fktrctq, ну это уже вообще просто
    PHP код:
    if ($classes != false) {
        
    $class_names 'class="' implode(' '$classes) . '"';
    } else {
        
    $class_names '';

    • 1

    Спасибо сказали:

    Fktrctq(29.08.2017),
  9. Новичок
    • Регистрация: 18.12.2012
    • Сообщений: 1
    • Репутация: 0
    Подскажите пожалуйста, как выводить описание тега в шаблоне страницы с материалами тега?

    При добавлении кода вызова описания <?php $description = tag_description (); echo $description;?> в шаблон archive.php , куда не вставляй код, описание выводится сверху или снизу всего шаблона контента (включая боковые слайдбары), при этом во всю ширину экрана, что естественно не приемлемо.

    Возможно какой то плагин решает эту проблему?
    • 0
  10. Гуру
    • Регистрация: 20.01.2013
    • Сообщений: 720
    • Репутация: 189
    • Webmoney BL: ?
    Цитата Сообщение от ToKS Посмотреть сообщение
    Возможно какой то плагин решает эту проблему?
    плагин обычно добавляет какой-то функционал, а вам стоит просто разобраться со своим шаблоном. Куда вы вставляете код, туда он вам и выводит описание.
    • 2

    Спасибо сказали:

    FeaKyS(14.10.2017),

Похожие темы

Темы Раздел Ответов Последний пост
Бесплатная помощь по ucoz сайтам
Создание сайтов 6 31.03.2013 14:25
Нужна не бесплатная помощь в заполнении сайта
Копирайтинг, переводы, постинг 4 22.12.2012 00:33
Бесплатная помощь в установке вики-разметки вконтакте
Услуги по SMM, SMO 4 01.02.2012 02:38
Бесплатная помощь в установке вики-разметки вконтакте
Социальные сети 1 27.01.2012 16:44
Нужна помощь (WordPress)
Web программирование 9 04.01.2012 14:00

У кого попросить инвайт?

Вы можете попросить инвайт у любого модератора:

Информеры