2009-08-04 1 views
3

私はWordPressのフォーラムで助けを受けようとしましたが、運はありませんでした。とにかく、ここに私の質問です...WordPressテンプレートで親カテゴリの名前を取得するにはどうすればよいですか?親カテゴリー別に投稿を照会することはできますか?

私は10の親カテゴリと2つのサブカテゴリを各親に作成しています。私のWordPress投稿は特定の親カテゴリの1つのサブカテゴリに属します

親カテゴリの名前のみを取得するにはどうすればよいですか?私はサブカテゴリの名前が欲しいのですか?どのようなWordPressのコードはそれを行うだろうか?

そして、もう一つ質問...

は、それが使用することにより、サブカテゴリーの親によってポストを照会することが可能です:

代わりcat=1または特定のカテゴリの名前を入力すると、

このようにすれば、クリックすると特定のサブカテゴリの親の投稿が自動的に挿入され、クエリが実行されますか? Wordpressのドキュメントで回答と例の

+0

あなたのポストから欠落しているいくつかのテキストがあるようです。 – JohnK

答えて

3

親カテゴリ名を取得するには、get_cat_name()関数を使用し、その親をパラメータとして使用します。

$cat = get_the_category(); 
$parentCatName = get_cat_name($cat[0]->parent); 
+0

これは私が欲しかったことです、ありがとうございました! –

1

最初の祖先のスラッグを与えるこの答えが見つかりました。それはあなたに名前を与えるために簡単に変更することができます。

は、ここでそれを手に入れた:

// get parent category slug 
$parentCatList = get_category_parents($cat,false,','); 
$parentCatListArray = split(",",$parentCatList); 
$topParentName = $parentCatListArray[0]; 
3

これらすべての答えは私のために失敗しました:http://nick.boldison.com/wordpress/wordpress-get-top-level-parent-category/

<?php 
// get parent category slug 
$parentCatList = get_category_parents($cat,false,','); 
$parentCatListArray = split(",",$parentCatList); 
$topParentName = $parentCatListArray[0]; 
$sdacReplace = array(" " => "-", "(" => "", ")" => ""); 
$topParent = strtolower(strtr($topParentName,$sdacReplace)); 
?> 

実際には、親の名前を取得します。

私は最終的には、このようにポストの最上位のカテゴリ名を表示するには、管理:

 $categories = get_the_category(); 
     $category= ''; 
     foreach($categories as $childcat) { 
      $parentcat = $childcat->category_parent; 
      if($parentcat>0){ 
       $category = get_cat_name($parentcat); 
       continue; 
      } 
     } 
     $category = (strlen($category)>0)? $category : $categories[0]->cat_name; 
関連する問題