今天早些时候在这里找到了一些帮助,并希望在创建自定义模板时再次这样做。 : - )
我在functions.php中设置了Wordpress自定义帖子类型
我有一个名为“分类”的自定义分类
根据该分类,我有条款/类别:
旧研究(父母) ---子猫1 ---子猫2
我创建了文件“taxonomy-Classifications-oldresearch.php”,它成功地为我更改了布局。但是,它不保留子类别中的布局。我可以通过创建“taxonomy-Classifications-subcat1-oldresearch.php”来改变它,但我会有很多子类别,我想使用一个模板。这样我就不必为每个新类别创建一个新的模板文件。有没有人对我有好的解决方案?
谢谢!
答案 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