Wordpress自定义分类模板

时间:2013-08-28 20:28:47

标签: wordpress

今天早些时候在这里找到了一些帮助,并希望在创建自定义模板时再次这样做。 : - )

我在functions.php中设置了Wordpress自定义帖子类型

我有一个名为“分类”的自定义分类

根据该分类,我有条款/类别:

旧研究(父母) ---子猫1 ---子猫2

我创建了文件“taxonomy-Classifications-oldresearch.php”,它成功地为我更改了布局。但是,它不保留子类别中的布局。我可以通过创建“taxonomy-Classifications-subcat1-oldresearch.php”来改变它,但我会有很多子类别,我想使用一个模板。这样我就不必为每个新类别创建一个新的模板文件。有没有人对我有好的解决方案?

谢谢!

2 个答案:

答案 0 :(得分:0)

有一个great post on the Wordpress stack exchange可以解决这个问题。问题是Wordpress使用template hierarchy来加载基于每个术语的slugs的php模板。

答案 1 :(得分:0)

您可以在分类模板中进行一些自定义编码,以根据需要显示正确的子类别。例如,假设您当前的父分类法为oldresearch,那么您将被带到WordPress的特定分类模板,在您的情况下,您将被带到oldresearch模板页面。在该模板中,您可以获得当前术语的id,然后可以从该类别获取子项数据。在代码中,它看起来如下所示: 注意:以下代码仅供参考,您可以根据需要使用它。

<?php
$term_id = 10;
$taxonomy_name = 'Classifications';
$termchildren = get_term_children( $term_id, $taxonomy_name );

echo '<ul>';
foreach ( $termchildren as $child ) {
$term = get_term_by( 'id', $child, $taxonomy_name );
echo '<li><a href="' . get_term_link( $child, $taxonomy_name ) . '">' .     $term->name . '</a></li>';
}
echo '</ul>';
?> 

通过这种方式,您可以播放子类别数据。 $term_id仅供参考,您将获得parent taxonomy term的ID,因此将获得该字词的子类别。 如需进一步阅读,请查看Get Children terms Codex