サポート » 使い方全般 » リスト取得時に付与されるクラスについて

  • 解決済 t62m0nar

    (@t62m0nar)


    <ul>
    <?php wp_list_categories('child_of=サブカテゴリーID'); ?>
    </ul>

    上記のように、wp_list_categoriesでサブカテゴリーのリストを取得すると、class=”cat-item cat-item-4″というようなクラスがつきます。

    もちろん、このクラス名の付与は

    li タグに限らずかと思うのですが、なんのために、このような仕様になっているのでしょうか?
    クラスなしの li として、出力することはできるのでしょうか?
    基本的なことかと思いますが、よろしくお願いします。

6件の返信を表示中 - 1 - 6件目 (全6件中)
  • モデレーター Takuro Hishikawa

    (@hissy)

    「ついている方が便利だから」ですね。

    トピック投稿者 t62m0nar

    (@t62m0nar)

    幼稚な質問に回答いただき、ありがとうございます。
    なるほど。それはそうですよね。このクラス名は自分で任意のものにすることはできるのでしょうか?
    functions.phpで指定するのでしょうか?

    モデレーター Takuro Hishikawa

    (@hissy)

    wp_list_categoriesのパラメータでは任意のクラス名に変更できません。
    wp_list_categoriesを参考に同等の機能を持つ関数を自作すれば任意のクラス名にできると思います。

    functions.php に追加してみてください。

    // class を消す場合

    function my_list_categories( $output, $args ) {
    	return preg_replace('/\sclass="(.+?)"/', '', $output );
    }
    add_filter( 'wp_list_categories', 'my_list_categories', 10, 2 );

    // class を変更する場合(class=”xxx”)

    function my_list_categories( $output, $args ) {
    	return preg_replace('/\sclass="(.+?)"/', ' class="xxx"', $output );
    }
    add_filter( 'wp_list_categories', 'my_list_categories', 10, 2 );

    トピック投稿者 t62m0nar

    (@t62m0nar)

    pluto1234さま
    functions.phpに追記してみたところ、希望のとおり、動作しました。
    ありがとうございました。

    hissyさんもありがとうごじました。

    モデレーター Naoko Takano

    (@nao)

    t62m0nar さん

    トピックとは関係ない内容ですみませんが、ページが崩れていたのでコードを修正させていただきました。

    b, i, a, blocquote, code, ol, ul, li タグをこのフォーラム内に書くと、HTML タグとして認識されてしまいます。
    数行のコードを書く場合は code ボタンを使い、そうでないときは < や >(全角)などを使ってコードを記入することでこれが防げます。今後ご利用ください。

    よろしくお願いします。

6件の返信を表示中 - 1 - 6件目 (全6件中)
  • トピック「リスト取得時に付与されるクラスについて」には新たに返信することはできません。