在我的wordpress网站上, 我有一个页面, 其中使用以下代码列出了所有类别和子类别。
<ul>
<?php
$parents = get_categories(array('parent' => 0, 'exclude' => '1, 7', 'hide_empty' => 0));
if(!empty($parents)){
foreach($parents as $parent){
?>
<li>
<div class="catImg">
<span><img src="<?php echo z_taxonomy_image_url($parent->term_id); ?>" /></span>
</div>
<h2><?php echo $parent->name; ?></h2>
<ul class="models">
<?php wp_list_categories(array('hierarchical' => false, 'hide_empty' => 0, 'title_li' => __( '' ), 'show_option_none' => __( '' ), 'child_of' => $parent->term_id)); ?>
</ul>
</li>
<?php
}
} else {
?>
<li>No Categories</li>
<?php } ?>
</ul>
上面的代码生成多个块, 如下图所示。在照片中, ” Team Losi Racing”是父类别, ” 8ight 3.0″和” 8ight EU”是Team Losi Racing的子类别。
当我单击ul.models列表中的子类别时, 我想转到一个列出该类别中所有帖子的页面。
由于我是wordpress的新手, 这是我的第一个主题, 我想知道是否有人可以指出我正确的方向以实现上述结果。
提前致谢
#1
答案一
以我的理解。你可以像下面这样。尝试一下。如果你有任何疑问或疑虑, 请通过搜索yeshansachithak在任何网络中与我联系。
代码
<ul>
<?php
$parents = get_categories(array('parent' => 0, 'exclude' => '1, 7', 'hide_empty' => 0));
if(!empty($parents)){
foreach($parents as $parent){
?>
<li>
<div class="catImg">
<span><img src="<?php echo z_taxonomy_image_url($parent->term_id); ?>" /></span>
</div>
<h2><?php echo $parent->name; ?></h2>
<ul class="models">
<?php
$categories = get_categories('child_of'=>$parent->ID); //Pass the Parent category id here
foreach ($categories as $category) {
echo '<li>'.$category->cat_name.'</li>';//Child cat list
//Show links by using css after click above sub-cat name
?>
<ul class="sub-cat-post-links">
<?php
$args = array( 'offset'=> 1, 'category' => $category->cat_ID );
$myposts = get_posts( $args );
foreach ( $myposts as $post ) : setup_postdata( $post ); ?>
<li>
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
</li>
<?php endforeach;
wp_reset_postdata();
?>
</ul>
<?php
}
?>
</ul>
</li>
<?php
}
} else {
?>
<li>No Categories</li>
<?php } ?>
</ul>
解释
从你的代码中, 你可以获取父类别。然后, 我们可以获得该父母的孩子类别。在子类别列表中, 我们可以列出属于子和父类别的帖子。单击子猫的名字后, 该列表将显示。你还必须对此做一些CSS。当我们单击帖子名称/标题时。它将带我们到post.single.php
谢谢。太快了对不起, 我的英语不好
简要外观
在我的回答中, 关于你的形象。团体Losi Racing和XRAY是父类别名称。 8ight 3.0和8ight EU是子类别名称。当你单击子猫的名字时。它将在子类别名称下方显示所属职位。像下拉。单击帖子链接后。它将带你到帖子内容。
根据我们的讨论, 请参见下面的第二个答案。我不想删除第一个答案。它还对某人有帮助。
答案二
这是代码。你可以像下面这样。尝试一下。如果你有任何疑问或疑虑, 请通过搜索yeshansachithak在任何网络中与我联系。
<ul>
<?php
$parents = get_categories(array('parent' => 0, 'exclude' => '1, 7', 'hide_empty' => 0));
if(!empty($parents)){
foreach($parents as $parent){
?>
<li>
<div class="catImg">
<span><img src="<?php echo z_taxonomy_image_url($parent->term_id); ?>" /></span>
</div>
<h2><?php echo $parent->name; ?></h2>
<ul class="models">
<?php
$categories = get_categories('child_of'=>$parent->ID); //Pass the Parent category id here
foreach ($categories as $category) {
echo '<li>Category: <a href="' . get_category_link( $category->term_id ) . '" title="' . sprintf( __( "View all posts in %s" ), $category->name ) . '" ' . '>' . $category->name.'</a> </li> ';
}
?>
</ul>
</li>
<?php
}
} else {
?>
<li>No Categories</li>
<?php } ?>
</ul>
简要外观
在上面一个。我们从父母的猫中挑选出孩子的类别。之后, 我们将显示该子类别的链接。当点击链接时, 它将带我们到类别发布列表archive.php页面。你可以在其中设定自己喜欢的样式。
非常感谢
评论前必须登录!
注册