2016-11-17 5 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>にクラスを追加するにはどうすればよいですか?私はあなたがワードプレスを使用している参照して、このコード

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

答えて

0

でHTMLを表示

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'); 

は、これは私の関数です。ウィジェットのulを編集してクラスを手動で追加できますか?

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

DOMの準備ができた後に、それはロードしてください:

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

は、あなただけのデフォルトのワードプレス」を使用していない場合、あなたは常にクラスを追加する(ワードプレスに存在する)のjQueryを使用することができますカテゴリのウィジェット?とにかくul要素を直接編集することはできないようです。 https://github.com/WordPress/WordPress/blob/master/wp-includes/widgets/class-wp-widget-categories.php

derekcbaldwinのようにjQueryを使用するか、独自のウィジェットを作成するか、カテゴリウィジェットを拡張する必要があります。

0

次の2つの方法以下でそれを達成することができます:JS/jQueryのを使用して

  1. を|上記のように、JavaScriptを有効にしていないブラウザではまれですが、これはまれです。
  2. 出力バッファの使用| PHPの道

のjQueryを使用した:

PHPの出力バッファリングを使用している
jQuery(document).ready(function($) { 
    $('#sidebar-category ul').addClass('your-class-name'); 
}); 

あなたのsidebar.phpで

か、サイドバー出力機能dynamic_sidebar( 'あなたの-サイドバー')の使用を使用それは、ULにクラスを追加しますwidget_outputするフィルターフックを追加するのfunctions.phpファイルで

<?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); 
?> 

:以下のコードを与えられた

<?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); 

?> 
関連する問題