学做网站培训课程介绍

当前位置:

PHP代码判断WordPress不同页面调用边栏导航

我们在自己建网站时,经过碰到网站上的不同页面的边栏是显示各自栏目下的子栏目或者子页面。如果每个都去单独写的话比较麻烦,为了简洁代码,我们可以使用Wordpress的判断来显示。
Wordpress不同页面调用子栏目
Wordpress不同页面调用子栏目代码判断写法如下:


<style>span.nossy{display:none;}</style>
<?php if(is_category()){?>
<h3><?php echo get_cat_name( get_category_root_id($cat) );?><span class="nossy"><?php $mycat = get_category(get_category_root_id($cat));echo strtoupper($mycat->slug);?></span></h3>
<ul>
<?php
$args=array(
'child_of'=> get_category_root_id($cat),
'parent' => get_category_root_id($cat),
'hide_empty'=>'0',
);
$categories=get_categories($args);
foreach($categories as $category) {
if($cat == $category->term_id){$ons='actions';}else{$ons='';}
echo '<li><a href="' . get_category_link( $category->term_id ) . '" class="lis '.$ons.'">' . $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 );?><span class="nossy"><?php $mycat = get_category($djcatid);echo strtoupper($mycat->slug);?></span></h3>
<ul>
<?php
$args=array(
'child_of'=> $djcatid,
'parent' => $djcatid,
'hide_empty'=>'0',
);
$categories=get_categories($args);
foreach($categories as $category) {
if($currecategory[0]->cat_ID == $category->term_id){$ons='actions';}else{$ons='';}
echo '<li><a href="' . get_category_link( $category->term_id ) . '" class="lis '.$ons.'">' . $category->name.'</a></li>';
}
?>
</ul>
<?php }elseif(is_page()){
$pageArray = get_post_ancestors($post->ID);//获取父页面ID
if($pageArray){
$pageid = $pageArray[0];
}else{
$pageid = $post->ID;
}?>
<h3><?php echo get_page($pageid)->post_title;?><span class="nossy"><?php $slug = get_page( $pageid ); echo strtoupper($slug->post_name);?></span></h3>
<ul>
<?php
$pages = get_pages('child_of='.$pageid.'&sort_column=menu_order&sort_order=desc&parent='.$pageid);
if($pages){
foreach($pages as $page){
if($post->ID == $page->ID){$ons='actions';}else{$ons='';}
echo '<li><a href="' . get_page_link($page->ID) . '" class="lis '.$ons.'">' . $page->post_title.'</a></li>';
}
}else{
$pagesr = get_pages();
foreach ($pagesr as $paggr) {
if($post->ID == $page->ID){$ons='actions';}else{$ons='';}
echo '<li><a href="' . get_page_link($paggr->ID). '" class="lis '.$ons.'">' . $paggr->post_title. '</a></li>';
}
}
?>
</ul>
<?php }else{?>
<h3>栏目导航<span class="nossy">MEAU</span></h3>
<ul>
<?php
$args=array(
'orderby' => 'ID',
'order' => 'ASC',
);
$categories=get_categories($args);
$kk=1;
foreach($categories as $category) {
echo '<li><a href="' . get_category_link( $category->term_id ) . '" class="lis" >' . $category->name.'</a></li>';
$kk++;
if($kk>6)
break;
}
?>
</ul>
<?php }?>

把上面的代码保存成sidebar.php,可以在任何页面调用这个PHP文件来自动判断显示边栏导航了。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

相关教程

  • 默认情况下Wordpress后台只有文章和页面二种文章类型,如果我们建企业网站,所发布的产品与文章就会合在一起,不方便管理。怎么在wordpress后台菜单添
  • 我们安装WORDPRESS 插件时,插件需要加载用钩子挂载WordPress 自带的 jQuery库而非是通过硬编码的方式来加载,毕竟是为了避免多次加载 jQuery库。但在
  • wordpress默认情况下后台只支持mail函数方式设置发邮件,但是现在大多数虚拟主机是不支持mail函数的,因为会导致垃圾邮件的产生而服务器ip被大量列入
  • WordPress搜索页如果需要显示搜索结果的数量,一般是使用WordPress自带的函数$found_posts来显示。通常用法是:<?php echo $wp_query->found
  • 我们做网站时,如何将分类栏目里的置顶文章显示在最前面呢?然后再显示新发布的文章。怎么实现在调用最新文章列表中置顶文章靠前显示呢?代码如下:
  • WordPress网站后台上传了图片之后,每个图片都会有ID,我们在建网站时,可以通过图片ID来获取图片的路径。怎么通过图片附件的ID来获取图片的路径呢?
  • wordpress每增加一个分类目录,就会分配一个唯一的ID号。分类目录ID号相当于分类目录的身份证号,在网站制作过程中,我们需要经常使用到ID号。那么如
  • WordPress建好网站之后,往往由于服务器本身漏洞、网站后台使用弱密码登录等原因,造成网站被黑,植入了非正规的垃圾代码。造成网站跳转或者打不开。
  • 有时候,我们想用一个域名,做好几种语言的网站。在互联网领域内,一般说这类网站叫做,多语种网站。  WordPress网站也可以做成多语种的。本地网站
  • 使用WordPress做网站时,往往需要给网站设置伪静态规则。WordPress网站在不同服务器环境下的伪静态规则是不一样的。下面分享一下WordPress网站在Nginx