好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

wordpress获取分类目录一些实例详解 - WordPress

wordpress获取分类目录一些实例详解

在WordPress中为我们提供了不少的分类目录获取函数,下面小编来给大家总结一下分类目录获取函数实例.

1.如何根据分类名称获取分类ID?

要实现根据分类名称获取分类ID就必须要用到这个函数:get_cat_ID()

这个函数的用法如下:<?php get_cat_ID( $cat_name ) ?> 

下面我们来这个函数来进行一下简单的介绍,首先是这个函数的参数:$cat_name,分类名称默认值为"General"  其类型为字符型,可选,函数返回的值,出错时返回0,成功则返回分类ID号,类型为整数.

好了,下面我们来看一下示例:

<?php                     $category_id  = get_cat_id( 'Category Name' );                    query_posts( 'cat=' . $category_id );                     if  (have_posts()) :  while  (have_posts()) : the_post();             the_content();                  endwhile ;  endif ;       ?> 

2.如何根据分类ID获取分类的链接URL?

要想实现这个功能,必须要用到这个函数:get_category_link(),这个函数的用法如下:

<?php get_category_link( $category_id ) ?> 

下面是有关这个函数的一些介绍和说明:参数:$categroy_id 分类ID号 默认值:None,类型为整数,必需,返回的值,分类URL 字符串型

示例代码如下:

<?php              $category_id  = get_cat_ID(  'Category Name'  );              $category_link  = get_category_link(  $category_id  );         ?>         <a href= "<?php echo $category_link; ?>"  title= "Category Name" >你的分类目录名称</a>  

3.显示文章所属分类目录的链接

此功能的调用函数为:the_category(),需要强调的是:必须在主循环LOOP中使用它!切记!

其用法如下:<?php the_category( $separator, $parents );?> 

对此函数进行一些必要说明:

参数:$separator 显示在分类目录链接之间的文字或字符,默认以无序列表方式排列分类目录链接.

字符串型

$parents 怎样显示子分类目录链接,字符串型,值包括:

'multiple'——显示父分类与其子分类的链接以展示"父子"关系

'single'——只显示子分类的链接,用链接文本标出"父子"关系

默认值为显示子分类链接,无标识文字,接着,我们将举两个例子对此函数的具体用法进行一些参照:

示例一: 用逗号隔开分类目录

列出分类目录,(在分类目录数量多于一个的情况下)以逗号作为分隔符.

代码如下:<p>This post is in: <?php the_category(', '); ?></p> 

示例二: 用箭头隔开分类目录

列出分类目录,以箭头(>)作为分隔符,(使用时请注意,有些访问者可能会将分类>分类这种格式解读为一对具有[父子]关系的分类.)

代码如下:<p>Categories: <?php the_category(' &gt; '); ?></p>  

4.显示或返回当前页面的分类目录标题

在这里我们需要用到函数:single_cat_title()

对那些显示WordPress标签而非分类目录标题的页面(如"/tag/carceer"),该标签显示或返回标签名称,该标签只能用在WordPress主循环(loop)之外.

其基本用法如下: <?php single_cat_title( $prefix, $display ); ?> 

其默认用法如下:<?php single_cat_title('prefix'=>,'display'=> true ); ?> 

我们对其参数进行一些必要的说明:

$prefix 输出时在标题前的文本信息,默认值:None,类型是字符串,可选

$display 显示标题(TRUE)或返回标题以便用在PHP中(FALSE)。默认值:TRUE,类型是布尔型 可选下面这个例子在分类目录标题后显示[当前分类:]字样:

示例如下:

<p><?php single_cat_title( '当前分类目录是' ); ?></p>  //output:当前分类目录是wordpress  

下面这个例子将当前分类目录标题赋值给变量$current_category以用在PHP中.

示例代码如下:<?php $current_category = single_cat_title("", false); ?> 

5.返回用户在当前分类目录所填写的说明信息

在这里,我们需要用到函数:category_description()

此函数的基本用法如下: <?php echo category_description( $category ); ?> 

我们对其参数进行一些说明:

参数:$category 被返回说明信息的分类目录的数值型ID。若用户未指定分类目录,默认为当前分类目录,类型为整型

示例代码如下:

<div><?php  echo  category_description(3); ?></div>          //output:WordPress is a favorite blogging tool of mine and I share tips and tricks for   using WordPress here.          <div><strong><?php single_cat_title( '当前分类目录' ); ?>         </strong>: <?php  echo  category_description(); ?></div>          //output:   当前分类目录WordPress: WordPress is a favorite blogging tool of mine  and  I  share tips  and  tricks  for  using WordPress here.  

分类目录函数wp_list_categories用法

作用:按条件获取分类目录并按参数格式化

用法:<?php wp_list_categories( $args ); ?>

默认代码如下:

$defaults  =  array (  ‘show_option_all’ => ], // 不列出分类链接   ‘orderby’ => ‘name’, // 按照分类名排序   ‘order’ => ‘ASC’,  //升序排列   ‘show_last_update’ => 0, // 不显示分类中日志的最新时间戳   ‘style’ => ‘list’, //列表显示分类   ‘show_count’ => 0, // 不显示分类日志数量   ‘hide_empty’ => 1,  //不显示没有日志的分类   ‘use_desc_for_title’ => 1, // 显示分类描述   ‘child_of’ => 0,  //不限制子分类   ‘feed’ => ],  //不显示feed   ‘feed_image’ => ], // 不显示feed图片   ‘exclude’ => ],  //不显示该分类   ‘hierarchical’ => true, // 分层次显示父/子分类   ‘title_li’ => __(‘Categories’),  //用[Categories]为当前分类列表的标题   ‘ echo ’ => 1,  //显示(echos) 分类   ‘depth’ => 0  //不限制列表深度   ); 

主题中最常用的实例(获取所有分类目录,并按名字排序,获取深度为3,标题格式化为无,这个实例常用于下拉菜单中,需要相关css和js支持,如果没有css,将会出现格式问题,如所有子目录堆叠而不是下拉,但是功能没问题.

实例代码如下:

<ul id=]nav]>  <li><a href=]<?php  echo  get_settings(‘home’); ?>/] title=]<?php  bloginfo(‘description’); ?>]>Home</a></li>                      <?php wp_list_categories(‘sort_column=name&title_li=&depth=3′); ?>  </ul> 

按照分类名排序,并只显示 ID 为1、2、3和4的分类,代码如下:

wp_list_categories(‘orderby=name&include=1,2,3,4′); 

按照分类名排序,并显示每个分类的日志数,但不显示 ID 为10的分类,代码如下:

wp_list_categories(‘orderby=name&show_count=1&exclude=10′);

 

获取当前分类的根分类id函数

第一种:如果是分类页,系统默认有个变量$cat,就是当前分类的ID。这个比较准。

第二种:单个页面适用

代码如下:

$cat= single_cat_title('', false);

echo get_cat_ID($cat);

第三种,代码如下:

if  (!is_page() && !is_home()){  $catsy  = get_the_category();  $myCat  =  $catsy [0]->cat_ID;  $currentcategory  =  '&current_category=' . $myCat ; } wp_list_categories  ( 'hierarchical=1&use_desc_for_title=0&exclude=12&depth=1&orderby=id&title_li=' . $currentcate   gory); 

获取分类列表,不用SQL语句直接获取干净的分类目录,代码如下:

echo   "<span><select name='list'>" ;  foreach (get_all_category_ids()  as   $v )  {       $cat_info =get_category( $v );       echo   "<option value='" . $v . "'>" . $cat_info ->name. "</option>" ;  }  echo   '</select></span>' ; 

查看更多关于wordpress获取分类目录一些实例详解 - WordPress的详细内容...

  阅读:54次