我们再使用WordPress建企业站点的时候,经常会有一些主栏目下面有子栏目,我们又需要在不同的一级栏目调用相对的子栏目,但是会有很多小伙伴不知道如何进行操作,下面就来给大家介绍一下,WordPress不同页面如何调用不同类目下的分类导航。
我们只需要把下面的代码保存成sidebar.php,然后就可以在任何页面调用这个PHP文件来自动判断显示边栏导航了。
<?php if(is_category()){?> <h3><?php echo get_cat_name( get_category_root_id($cat) );?></h3> <ul> <?php $args=array( 'child_of'=> get_category_root_id($cat), 'hide_empty'=>'0', ); $categories=get_categories($args); foreach($categories as $category) { echo '<li><a href="' . get_category_link( $category->term_id ) . '" class="lis">' . $category->name.'</a></li>'; } ?> </ul> <?php }elseif(is_single()){?> <?php $currecategory = get_the_category();$djcatid = get_category_root_id($currecategory[0]->cat_ID);?> <h3><?php echo get_cat_name( $djcatid );?></h3> <ul> <?php $args=array( 'child_of'=> $djcatid, 'hide_empty'=>'0', ); $categories=get_categories($args); foreach($categories as $category) { echo '<li><a href="' . get_category_link( $category->term_id ) . '" class="lis">' . $category->name.'</a></li>'; } ?> </ul> <?php }elseif(is_page()){?> <h3><?php wp_title('');?></h3> <ul> <?php $pageArray = get_post_ancestors($post->ID);//获取父页面ID if($pageArray){ $pageid = $pageArray[0]; }else{ $pageid = $post->ID; } $pages = get_pages('child_of='.$pageid.'&sort_column=post_date&sort_order=desc&parent='.$pageid); if($pages){ foreach($pages as $page){ echo '<li><a href="' . get_page_link($page->ID) . '" class="lis">' . $page->post_title.'</a></li>'; } }else{ $pagesr = get_pages(); foreach ($pagesr as $paggr) { echo '<li><a href="' . get_page_link($paggr->ID). '" class="lis">' . $paggr->post_title. '</a></li>'; } } ?> </ul> <?php }else{?> <h3>栏目导航</h3> <ul> <?php $args=array( 'orderby' => 'name', 'order' => 'ASC' ); $categories=get_categories($args); foreach($categories as $category) { echo '<li><a href="' . get_category_link( $category->term_id ) . '" class="lis" >' . $category->name.'</a></li>'; } ?> </ul> <?php }?>