获取wordpress所有分类

wordpress 获取所有分类列表,可以通过两个函数来获取。

第一就是通过函数get_categories()就可以输出 WordPress 获取所有分类列表。

get_categories()函数可以获得分类所有信息,返回与查询参数相匹配的类别对象数组。变量与wp_list_categories()函数基本一致,且变量可被作为数组传递,也可在wordpress搜索中被传递。

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

$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 其中link在新版3.0以后已被弃用。

child_of:(整数)仅显示标注了编号的分类的子类。该参数无默认值。使用该参数时应将hide_empty参数设为false

parent:(整数)只显示某个父级分类以及下面的子分类(注:子分类只显示一个层级)。

orderby:(字符)将分类按字母顺序或独有分类编号进行排序。默认为按分类 编号排序包括ID(默认)和Name

order:(字符)为类别排序(升序或降序)。默认升序。可能的值包括asc(默认)和desc

hide_empty:(布尔值)触发显示没有文章的分类。默认值为true(隐藏空类别)。有效的值包括:1(true)和0(false)

hierarchical:(布尔值)将子类作为内部列表项目(父列表项下)的层级关系。默认为true(显示父列表项下的子类)。有效值包括1 (true)和0(false)

exclude:(字符)除去分类列表中一个或多个分类,多个可以用逗号分开,用分类ID号表示

include:(字符)只包含指定分类ID编号的分类。多个可以用逗号分开,用分类ID号表示

number:(字符)将要返回的类别数量

pad_counts:(布尔值)通过子类中的项来计算链接或文章。有效值包括1(true)和0(false),0为默认

taxonomy:(字符)返回一个分类法,这个是wordpress3.0版本后新添加的一个参数。返回的值包括category(默认)和taxonomy(一些新定义的分类名称)

<?php
$args=array(
    'orderby' => 'name',
    'order' => 'aSC'
);
$categories = get_categories($args);
foreach($categories as $category) {
    echo ' <li class="cat-'. $category-> slug .'">';
    echo ' <a href="' . get_category_link( $category->term_id ) . '" title="' . sprintf( __( "View all posts in %s" ), $category->name ) . '" ' . '>' . $category->name.' </a>';
    echo ' </li>';
}
?>

wordpress主题输出的html结构

<li class="cat-test"><a href="#">Photo</a></li>
<li class="cat-test2"><a href="#">Design</a></li>

第二是通过wp_list_categories()函数来获取。

wp_list_categories( string|array $args = ” )

1、默认情况下,该函数生成无序列表,你应该使用<ul></ul>对其生成的内容进行包裹。

2、wp_list_categories()和list_cats()以及wp_list_cats()的使用类似,但是后面 2 个已经弃用。

3、如果你希望将这个结果作为变量的话,可以将”echo”=>0,然后按变量进行操作。

4、也可以使用get_categories(),来获取分类变量。

5、此函数的参数,接收字符串或数组,具体请见下面实例。

6、以下例子测试环境Wordpress4.8

<?php
	$args = array(
			"title_li"=>'<h2>' . __( '金三国', 'textdomain' ) . '</h2>',
			"show_option_all"=>'首页',
			"orderby"=>'ID',
			"style"=>'list',
			"show_count"=>1,
			"hide_empty"=>0,
			"use_desc_for_title"=>1,
			"child_of"=>0,
			"exclude"=>1,
			"hierarchical"=>1,
			"echo"=>1,
			"current_category"=>1,
			"hide_title_if_empty"=>1,
			"taxonomy"=>'category'
		);
 
	wp_list_categories($args);
?>

里面的args参数和第一种的get_categories()是一致的。

我爱主题网 自2012
主题:260+ 销售:1000+
兼容浏览器

电话咨询

7*12服务咨询电话:

133-7205-6573

微信咨询