• 解決済 shinchaya

    (@shinchaya)


    get_the_categoryで、特定の親カテゴリーに属する新着記事の一覧をつくる際に、
    「子カテゴリー名」と「スラッグ」をclassにしたCSSでラベルをつけようと試みたのですが、
    記事が親カテゴリーと子カテゴリーともに選択されている場合に、
    カテゴリー名の先頭が ひらがな > カタカナ > 漢字 で選ばれてしまいます。
    何か日本語特有のルールのようなものがあるのでしょうか?
    また、回避の方法はあるでしょうか?

    <?php $postsn = get_posts(‘numberposts=5&order=desc&cat=カテゴリーID’); ?>
    <?php foreach($postsn as $post): ?>
    <?php
    $cat = get_the_category();
    $catname = $cat[0]->cat_name;
    $catslug = $cat[0]->slug;
    ?>

    • <?php the_time(‘Y/m/d’); ?> <span class=”<?php echo $catslug; ?>”><?php echo $catname; ?></span> “><?php the_title(); ?>
    • <?php endforeach; ?>

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • こんにちは。
    get_the_category関数は、その中でget_the_terms関数→wp_get_object_terms関数の順に呼び出され、wp_get_object_terms関数でターム情報を取得する際にカテゴリー名(’name’)を昇順(’ASC’)でソートしています。なので、文字コードの順にソートすると、ひらがな > カタカナ > 漢字の順になるのだと思います。

    回避策としては、get_the_category関数の’get_the_categories’フィルターあたりを利用して好みに並び替える方法があります。また、カテゴリーの順番を制御するプラグインがあるとおもいますので、探してみるといいかもしれません。

    トピック投稿者 shinchaya

    (@shinchaya)

    > tmatsuurさん
    ご回答ありがとうございました。勉強になりました。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「カテゴリー名の日本語特有のルール?」には新たに返信することはできません。