欢迎您光临爱永设计官网!
电话图标 服务热线/微信:13436537174 QQ咨询:276583799

新闻资讯

news

wordpress实现三级分类循环调用

发表日期:2014-04-08 文章作者:爱永设计  浏览次数:15954 次

今天在做wordpress时,又遇到了一个问就是自定义调用二级分类,及二级所对应的三级分类。在get_categories()参数中使用的child_of函数,结果把所有二级分类及三级分类都调用出来了。头痛啊,后来无意间发现了parent这个函数。而就可以实现只调用二级分类而不同时调用三级分类。

形式如:

<ul class="s-nav leftnav">

    <li id="menu_icon"><a title="北京" class="ma">北京共[<span>3</span>]家</a>
	<ul class="children" id="children">
    	    	<li >
		<a href="http://ssfg.aymoban.com/hydf/?cat=50" title="丰台区" >
		丰台区共[<span>1</span>]家
		</a>
                </li>
            	<li >
		<a href="http://ssfg.aymoban.com/hydf/?cat=52" title="房山区" >
		房山区共[<span>0</span>]家
		</a>
        </li>
            	<li >
		<a href="http://ssfg.aymoban.com/hydf/?cat=48" title="朝阳区" >
		朝阳区共[<span>1</span>]家
		</a>
        </li>
            	<li class="current">
		<a href="http://ssfg.aymoban.com/hydf/?cat=49" title="海淀区" >
		海淀区共[<span>1</span>]家
		</a>
        </li>
            	<li >
		<a href="http://ssfg.aymoban.com/hydf/?cat=51" title="通州区" >
		通州区共[<span>0</span>]家
		</a>
        </li>
            </ul>
</li>

    <li id="menu_icon">
    <a title="云南省" class="ma">
    云南省共[<span>1</span>]家
    </a>

	<ul class="children" id="children">
    	    	<li >
		<a href="http://ssfg.aymoban.com/hydf/?cat=54" title="丽江地区" >
		丽江地区共[<span>0</span>]家
		</a>
        </li>
            	<li >
		<a href="http://ssfg.aymoban.com/hydf/?cat=55" title="保山地区" >
		保山地区共[<span>0</span>]家
		</a>
        </li>
            	<li >
		<a href="http://ssfg.aymoban.com/hydf/?cat=53" title="昆明市" >
		昆明市共[<span>1</span>]家
		</a>
        </li>
            </ul>
</li>

    <li id="menu_icon">
    <a title="广东省" class="ma">
    广东省共[<span>1</span>]家
    </a>

	<ul class="children" id="children">
    	    	<li >
		<a href="http://ssfg.aymoban.com/hydf/?cat=59" title="东莞市" >
		东莞市共[<span>0</span>]家
		</a>
        </li>
            	<li >
		<a href="http://ssfg.aymoban.com/hydf/?cat=57" title="佛山市" >
		佛山市共[<span>0</span>]家
		</a>
        </li>
            	<li >
		<a href="http://ssfg.aymoban.com/hydf/?cat=58" title="惠州市" >
		惠州市共[<span>0</span>]家
		</a>
        </li>
            	<li >
		<a href="http://ssfg.aymoban.com/hydf/?cat=60" title="江门市" >
		江门市共[<span>0</span>]家
		</a>
        </li>
            	<li >
		<a href="http://ssfg.aymoban.com/hydf/?cat=56" title="深圳市" >
		深圳市共[<span>1</span>]家
		</a>
        </li>
            </ul>
</li>

    <li id="menu_icon">
    <a title="山西省" class="ma">
    山西省共[<span>0</span>]家
    </a>

	<ul class="children" id="children">
    	    	<li >
		<a href="http://ssfg.aymoban.com/hydf/?cat=62" title="太原市" >
		太原市共[<span>0</span>]家
		</a>
        </li>
            </ul>
</li>

</ul>

终于出来了。分享下代码:

get_categories()

说明

获取与查询参数相匹配的类别对象数组

用法

<?php $categories = get_categories( $args ); ?>

默认参数

<?php $args = array(

‘type’ => ‘post’,

‘child_of’ => 0,

‘parent’ => ”,

‘orderby’ => ‘name’,

‘order’ => ‘ASC’,

‘hide_empty’ => 1,

‘hierarchical’ => 1,

‘exclude’ => ”,

‘include’ => ”,

‘number’ => ”,

‘taxonomy’ => ‘category’,

‘pad_counts’ => false );?>

参数

Type

(字符串)

需查询的分类类型

§ post (默认)

§ link

3.0后用taxonomy=link_category 代替了type=link

child_of

(整数)仅显示指定分类编号的子类和后辈类。该参数无默认值。使用该参数时应将hide_empty参数设为false

parent

(整数)仅显示指定分类编号的子类。该参数无默认值

Orderby

(字符串)排序字段

§ id

§ name(默认)

§ slug

§ count

§ term_group

order

(字符串)排序方式(升序或降序)

§ asc (默认)

§ desc

hide_empty

(布尔型)是否显示没有文章的分类

§ 1(默认)

§ 0

hierarchical

(布尔型)是否包括那些含有非空子类的空子类

§ 1(默认)

§ 0

Exclude

(字符串)排除列表中以升序排列的用逗号分开的一个或多个分类

Include

(字符串)包含列表中以升序排列的用逗号分开的一个或多个分类

§ list (默认)

§ none

number

(字符串)需要返回的类别数量

taxonomy

(字符串) 需要返回的分类信息。3.0加入

§ category (默认)

§ taxonomy (或其他的分类信息)

pad_counts

(布尔型)是否计算子类中链接或文章数量

§ 1 (true)

§ 0 (false)(默认)

例子

显示类别的下拉列表

wp_dropdown_categories(array('hide_empty' => 0, 'name' => 'category_parent', 'orderby' => 'name', 'selected' => $category->parent, 'hierarchical' => true, 'show_option_none' => __('None')));
wp_dropdown_categories(array('hide_empty' => 0, 'name' => 'select_name', 'hierarchical' => true));
下拉列表
<select name="event-dropdown" onchange='document.location.href=this.options[this.selectedIndex].value;'>
 <option value=""><?php echo esc_attr(__('Select Event')); ?></option>
 <?php
  $categories=  get_categories('child_of=10');
  foreach ($categories as $category) {
         $option = '<option value="/category/archives/'.$category->category_nicename.'">';
         $option .= $category->cat_name;
         $option .= ' ('.$category->category_count.')';
         $option .= '</option>';
         echo $option;
  }
 ?>
</select>

列表和说明

<?php
$args=array(
  'orderby' => 'name',
  'order' => 'ASC'
  );
$categories=get_categories($args);
  foreach($categories as $category) {
    echo '<p>Category: <a href="' . get_category_link( $category->term_id ) . '" title="' . sprintf( __( "View all posts in %s" ), $category->name ) . '" ' . '>' . $category->name.'</a> </p> ';
    echo '<p> Description:'. $category->description . '</p>';
    echo '<p> Post Count: '. $category->count . '</p>';  }
?>

$category完整信息是

$category->term_id
$category->name
$category->slug
$category->term_group
$category->term_taxonomy_id
$category->taxonomy
$category->description
$category->parent
$category->count
$category->cat_ID
$category->category_count
$category->category_description
$category->cat_name
$category->category_nicename
$category->category_parent

源码位置

wp-includes/category.php

将文章分享到..
相关资讯
最新主题模板
随机新闻
最新网站案例
  • 更多 +我们能做什么

    致力于互联网品牌建设与网络营销,专业领域包括网站建设、网站模板、移动互联网营销、wordpress平台开发等,服务范围涵盖基础的域名服务、主机 服务;企业邮箱、云服务器、网络营销等应用服务,为不同类型的客户提供良好的互联网应用定制解决方案,帮助客户在新的全球化互联网环境中保持优势。

  • 更多 +网站模板优势

  • 更多 +关于爱永设计

    爱永设计工作室一直致力于品牌精美的网页设计、网页制作DIV+CSS布局、JS效果、精美网站模板、标志设计、专业仿站, 低廉的价格,真诚的服务,我们拥有全国各地的客户群体和各行业的成功案例。以一流的服务,出色的网页设计和制作能力,认真严谨的工作态度为客户提供优质满意的服务。期待与您的合作!

Copyright © 2012 - 2024 aysheji.com All Rights Reserved 爱永设计 版权所有
邮箱:aysheji@163.com 在线客服:276583799 模板演示地址:www.aymoban.com 备案号:京ICP备13060102号-3
服务内容: 网页设计 网站建设 网站制作 网站模板 婚庆网站模板 摄影网站 手机网站制作 自适应网站制作