サポート » 使い方全般 » 親カテゴリ名の取得

  • 解決済 takuya1108

    (@takuya1108)


    親カテゴリ名が安定して取得できないのでどなたかお力を貸してください。

    現在、Popular Postsというプラグインを使用、上記リンク先「Extending the Plugins by Adding Your Own Output Template Tags」の記事を参考に記事の親カテゴリのスラッグを表示するテンプレートタグを作成したのですが、親カテゴリが取得できる投稿と、できない投稿が出てきてしまいます。

    function otf_parentcategoryslugs($option_key, $result, $ext) {
    	$cat = get_the_category($result->ID);
    	$cat = $cat[0];
    	$parent = get_category($cat->category_parent);
    	$parent_catslug = $parent->slug;
    	return $parent_catslug;
    }

    Popular Posts本体というよりは、取得の際のソースの記述に問題があるような気がして試行錯誤したのですが、上手く表示されないのでどなたか安定して取得できる方法を教えていただければと思います。

    お手数ですが、よろしくお願いします。

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • トピック投稿者 takuya1108

    (@takuya1108)

    自己解決しました。

    function otf_parentcategoryslugs($option_key, $result, $ext) {
    $c = get_the_category($result->ID);
    $pid = $c[0]->parent;
    if( $pid > 0 ) {
    	do {
    		$t = get_term_by( '', $pid, 'category' );
    		$pid = $t->parent;
    	} while( $pid > 0 );
    	return $t->slug;
    }else{
    	return $c[0]->slug;
    }
    }

    以上で解決しました。
    が、もっとスマートな記述があるのかもしれません。
    詳しい方、できればご指南いただければと思います。

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • トピック「親カテゴリ名の取得」には新たに返信することはできません。