7折
减价出售
¥799
想要定制一款wordpress主题,那么就必须要有很多自己diy的地方, 比如想要自己做一款wordpress按层级显示分类的类似下图的效果
这种样式的导航,首先让用户很清楚的知道自己所在的位置,其次对于搜索引擎来说也是很好的一个搜索优化。
实现第一步:在wordpress主题目录下的functions.php中添加两个函数,这两个函数第一个由两个参数,它的参数既可以是字符串类型的数据,也可以是一个数组类型的数据。
function hx_url_trim($link, $name){
return "<a href=\"$link\" title=\"$name\">$name</a>";
}
function get_hierarchy_category_path(){
//$wp_query是整个wordpress的全局变量,在任何地方都能够使用
global $wp_query;
//获取当前请求的参数中的分类ID
$catid=$wp_query->query_vars['cat'];
//获取首页的地址
$home_url=hx_url_trim(home_url( '/' ),'首页');
$result="";
//采用迭代的方法获取上一级的分类信息
while($catid!=0){
$current_cat=get_category($catid);
$current_cat_link = get_category_link( $catid );
$current_cat_url=hx_url_trim(esc_url( $current_cat_link ),$current_cat->name);
if($result){
$result = "$current_cat_url > $result";
} else {
$result = $current_cat_url;
}
//将父亲的分类ID付给迭代变量
$catid=$current_cat->category_parent;
}
$result = "$home_url > $result";
return $result;
}
第一个函数是为了省事,用其生成一个URL链接。第二个函数中,主要用到了wordpress的全局请求参数对象$wp_query还有分类的一些函数。
在开发过程中,随时都可以使用打印一下对象的内容,就知道怎样获取参数数据了。
实现第二步:修改category.php模板文件替换导航
找到模板目录下的category.php文件,找到这个文字:
<h1 class="page-title">
<?php
printf( __( 'Category Archives: %s', 'twentyten' ), '<span>' . single_cat_title( '', false ) . '</span>' );
?>
</h1>
然后替换成调用我们编写的函数:
<h1 class="page-title">
<?php
echo get_hierarchy_category_path();
?>
</h1>
用的最多的应该就是全局变量$wp_query,当客户端请求服务器时,除了初始化配置,wordpress做的第一件事就是用HTTP请求参数初始化该全局变量,这样在代码的任何地方都可以随时引用。比如本文的category.php中并没有给函数传递参数,因为在get_hierarchy_category_path中我们可以使用$wp_query这个全局变量获取所需的所有信息。
减价出售
减价出售
减价出售
减价出售
电话咨询
133-7205-6573
微信咨询