如何通过名称从类别的子类别中获取帖子?

时间:2015-04-19 20:02:21

标签: php wordpress categories

我正在尝试创建已定义类别的子类别模板。 例如,对于每一个,我想检查他的子类别Photos是否存在并获得此帖子。

这是我的类别树:

— Category Sessions
— — Subcategory Session 2015
— — — Subcategory Photos
— — — Subcategory ...
— — — Subcategory Videos
— — Subcategory Session 2014
— — — Subcategory Scores
— — Subcategory Session 2013
— — — Subcategory Photos
— — — Subcategory ...
— — — Subcategory Videos

如果会话类别的子类别Photos存在:

我的想法是查询如下:

$wp_query = new WP_query(... Session 20XX/Photos ...&showposts=20);

请问有办法吗?

2 个答案:

答案 0 :(得分:1)

我不知道干净利落的方式。以下应该可以使用,但是未经测试的代码 - 如有任何问题请发表评论。将其包含在函数中会导致整体代码更清晰。

$cat_args = array(
    'parent'                 => get_cat_ID( $year_cat_name ),
    'orderby'                  => 'name',
    'order'                    => 'DESC',
); 

$categories = get_categories($cat_args); 
foreach ($categories as $category) {
  if ($category->cat_name == 'Photos'){
    $wp_query = new WP_query(array('cat' => $category->cat_ID));
    // ...
    break;
  };
}

答案 1 :(得分:1)

感谢@M Haseeb

// Getting Parent ID
$parent = get_term_by( 'name', 'Session 2015', 'category');

// Checking if SubCategory Exist. 
$term = term_exists('Photos', 'category', $parent->term_id);

//if Exist Do the query
if ($term !== 0 && $term !== null) {
  $query = new WP_Query( 'cat='.$term['term_id'] );
}

参考文献: