2016-11-17 1 views
0

У меня есть функция. Это так.Добавление класса ul в функцию вывода

<div id="sidebar-category"><h2 class="sidebar-title black">Konular</h2>  <ul> 
    <li class="cat-item cat-item-2"><a href="http://www.domain.com/cats/girisimler/" >Girişimler</a> 
</li> 
    <li class="cat-item cat-item-3"><a href="http://www.domain.com/cats/isletme-yonetimi/" >İşletme Yönetimi</a> 
</li> 
    <li class="cat-item cat-item-4"><a href="http://www.domain.com/cats/proje-yonetimi/" >Proje Yönetimi</a> 
</li> 
    <li class="cat-item cat-item-6"><a href="http://www.domain.com/cats/web-dunyasi/" >Web Dünyası</a> 
</li> 
     </ul> 
</div> 

Как добавить класс в <ul>?

Это моя функция:

function arphabet_widgets_init() { 

    register_sidebar(array(
     'name'   => 'Home right sidebar', 
     'id'   => 'home_right_1', 
     'before_widget' => '<div id="sidebar-category">', 
     'after_widget' => '</div>', 
     'before_title' => '<h2 class="sidebar-title black">', 
     'after_title' => '</h2>', 
    )); 

} 
add_action('widgets_init', 'arphabet_widgets_init'); 

Я показать HTML с этим кодом

<?php dynamic_sidebar('home_right_1'); ?> 

ответ

0

Я вижу, вы используете WordPress. Можете ли вы изменить ul в виджетах, чтобы добавить класс вручную? Если нет, то вы всегда можете использовать JQuery (присутствующий в WordPress), чтобы добавить класс:

$('#sidebar-category ul').addClass('myClass'); 

Убедитесь, что он загружает после дома готов:

$(document).ready(function() { 
    $('#sidebar-category ul').addClass('myClass'); 
}); 
0

Вы только с помощью WordPress по умолчанию " Виджеты категорий? Похоже, вы не можете напрямую редактировать элемент ul в любом случае. В соответствии с этим: https://github.com/WordPress/WordPress/blob/master/wp-includes/widgets/class-wp-widget-categories.php

Вам нужно будет использовать jQuery, например, derekcbaldwin, или написать собственный виджет/расширить виджет категорий.

0

Вы можете добиться того, что в двух следующих способов:

  1. Использование JS/JQuery | Как упоминалось выше, но он будет работать в браузерах без включенного javascript, что является редким случаем.
  2. Использование выходного буфера | PHP путь

ИСПОЛЬЗОВАНИЕ Jquery:

jQuery(document).ready(function($) { 
    $('#sidebar-category ul').addClass('your-class-name'); 
}); 

ИСПОЛЬЗОВАНИЕ PHP буферизация вывода:

В вашем sidebar.php или где вы использовали выходной боковой панели функции dynamic_sidebar ('ваш-врезку') использовать ниже приведенный код:

<?php 
    ob_start(); 
    dynamic_sidebar('your-sidebar'); 
    $sidebar_output = ob_get_clean(); 
    $ul_class = 'your-class-name'; 
    echo apply_filters('widget_output', $sidebar_output, $ul_class); 
?> 

в файле functions.php добавить фильтр крюком widget_output, который добавит класс UL:

<?php 

    function widget_output_processor($widget_output, $ul_class) { 

     $widget_output = str_replace('<ul>', '<ul class="'.$ul_class.'">', $widget_output); 
     return $widget_output; 

    } 
    add_filter('widget_output', 'widget_output_processor', 10, 2); 

?> 
Смежные вопросы