wp 固定ページのリスト表示をアレンジ(class、span等追加)
wp 固定ページのリストを取得するには「wp_list_pages()」を使えば一覧を取得できるが
リスト表示で予期しないclassが付いてくる。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
add_filter('page_css_class', 'my_css_attributes_filter', 100, 1); function my_css_attributes_filter($var) { if(is_array($var)){ $varci= array_intersect($var, array('current_page_item')); $cmeni = array('current_page_item'); $selava = array('on'); $selavaend = array(); $selavaend = str_replace($cmeni, $selava, $varci); } else{ $selavaend= ''; } return $selavaend; } |
これでliについてくるclassは削除できるので、あとは「str_replace()」でclassとspanを付けちゃいます。
1 2 3 4 5 6 7 8 9 10 |
<?php // 固定ページの子ページ一覧を表示 $str = wp_list_pages('sort_column=post_date&sort_order=desc&title_li=&child_of=214&echo=0'); // ・固定ページのIDを指定・登録日「desc」順 if($str){ // 子ページがあれば一覧を表示 print '<ul class="bbb">'; $str = str_replace('<li>', '<li class="zzz"><span class="aaa">' ,$str); $str = str_replace('</li>', '</span></li>', $str); print $str; print '</ul>'; } ?> |
1 |
<li class="zzz"><span class="aaa"><a href="https://〇〇/">〇〇㈱様</a></span></li> |
このように上手く付けることができました!