サポート » テーマ » 「カテゴリーなし」表記を非表示にしたい。

  • 解決済 khh2004

    (@khh2004)



    現在表示しているページのカテゴリーの下にカテゴリーがある場合、1階層下までをメニューとして、下記のソースで表示しています。

    <?php
    foreach((get_the_category()) as $v_c) {
    if(is_category($v_c->cat_ID)){
    $v_cat = $v_c->cat_ID;
    break ;
    }
    }
    ?>
    <?php if(wp_list_categories("orderby=id&&hide_empty=0&title_li=&use_desc_for_title=0&child_of=$v_cat&depth=1&echo=0" )): ?>
    <ul>
    <?php wp_list_categories("orderby=id&&hide_empty=0&title_li=&use_desc_for_title=0&child_of=$v_cat&depth=1" ); ?>
    </ul>
    <?php endif; ?>

    上記のソースだと現在表示しているページのカテゴリーの下に子(サブ)カテゴリーが無い状態
    ■カテゴリー1
    ├カテゴリー1-1 ←こことか
    ├カテゴリー1-2
    │├カテゴリー1-2-1 ←こことか
    │└カテゴリー1-2-2
    └・・・
    だと「カテゴリーなし」という表記が出てきてしまいます。
    この表記がでない様にするには、何処を変えればよいでしょうか。
    宜しくお願いします。

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

    (@jim912)

    khh2004さん、こんにちは。

    極力シンプルになるよう改造してみました。
    実動テストしてないので、なんかしら間違っているかもしれませんが、こんなんでどうでしょう。

    <?php
    $v_cats = get_the_category();
    if ( count( $v_cats ) ) {
    	$v_cat = $v_cats[0]->cat_ID;
    	$cat_list = wp_list_categories( "orderby=id&hide_empty=0&title_li=&use_desc_for_title=0&child_of=$v_cat&depth=1&echo=0" );
    	if ( strpos( $cat_list, __( 'No categories' ) ) === false ) {
    		echo "<ul>\n$cat_list\n</ul>\n";
    	}
    }
    ?>

    jim912さんコメントありがとうございます。
    早速試させて頂きましたが、上記のソースだと、現在いるページのカテゴリーIDが取得できていない状態でした。
    jim912さんのソースを元に

    <?php
    foreach((get_the_category()) as $v_c) {
    	if(is_category($v_c->cat_ID)){
    		$v_cat = $v_c->cat_ID;
    		$v_cat_list = wp_list_categories("orderby=id&hide_empty=0&title_li=&use_desc_for_title=0&child_of=$v_cat&depth=1&echo=0");
    		if ( strpos( $v_cat_list, __( 'No categories' ) ) === false ) {
    			echo "<ul>\n$v_cat_list\n</ul>\n";
    		}
    		break ;
    	}
    }
    ?>

    上記の様にした所、思い通りの表示をさせる事ができました。
    本当にありがとうございます。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「「カテゴリーなし」表記を非表示にしたい。」には新たに返信することはできません。