codeで囲むの忘れてました。
<a href="hoge">hoge</a>
↓↓↓
<a class="hoge" href="hoge">hoge</a>
<a class="子hoge" href="hoge">hoge</a>
こんにちは、
どうして、クラス名の付与される style listをnoneに変更して、リンクだけの状態を作ってから、クラスを付与したいのですか?
こういうことはできるのかなと疑問に思いまして…
調べてみたのですが、たどり着かなかったのでこちらで質問させていただきました。
知識として持っておきたかっただけで、
今のところ、使用する予定はありません。
よろしければ教えてください。
get_categories
を使ってカテゴリを取得
$object->parentで、子カテゴリかどうかを判別してクラスをつけるとか
wp_list_categories()なら、
http://codex.wordpress.org/Template_Tags/wp_list_categories
walker 引数に 作成したクラスを指定して、
(個人的なメモです)
http://tenman.info/labo/snip/archives/1528
カスタマイズした形式のリストにするとか、
wp_list_categories() を echo 0 にして、変数に代入して、正規表現で置換するといった方法などがあると思います。
これでいけました!
walkerの存在を知らず色々検索していたら
これで無事想い通りになりました。
<?php
$categories = get_terms('category','orderby=order&order=ASC&parent=0');
// 親カテゴリ
foreach ( $categories as $cat ) {
$parentlink = get_category_link($cat->term_id);
echo "\n";
echo '<h3><a href="'.$parentlink.'">'.esc_html($cat->name).'</a></h3>';
$children = get_terms('category','hierarchical=0&orderby=order&order=ASC&child_of='.$cat->term_id);
//子カテゴリ
foreach ( $children as $child ) {
$childlink = get_category_link($child->term_id);
$catslug = $child->slug;
echo "\n\t";
echo '<a href="'.$childlink.'">'. esc_html($child->name).'</li>';
}
}
?>
リストタイプはこれ
<?php
$categories = get_terms('category','orderby=order&order=ASC&parent=0');
// 親カテゴリ
foreach ( $categories as $cat ) {
$parentlink = get_category_link($cat->term_id);
echo "\n";
echo '<h3><a href="'.$parentlink.'">'.esc_html($cat->name).'</a></h3>';
$children = get_terms('category','hierarchical=0&orderby=order&order=ASC&child_of='.$cat->term_id);
if($children) {
echo "\n";
echo "<ul>";
//子カテゴリ
foreach ( $children as $child ) {
$childlink = get_category_link($child->term_id);
$catslug = $child->slug;
echo "\n\t";
echo '<li class="'.$catslug.'"><a href="'.$childlink.'">'. esc_html($child->name).'</a></li>';
}
}
}
echo "\n";
echo "</ul>";
?>
いままでのもやもやが取れましたありがとうございます。