自定义分类功能.doc_第1页
自定义分类功能.doc_第2页
自定义分类功能.doc_第3页
自定义分类功能.doc_第4页
自定义分类功能.doc_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

自定义分类功能(Custom Taxonomies)是 WordPress 2.8 版本所引入的一个新的功能,并在 WordPress 3.0 中发扬光大。对于使用 WordPress 建立复杂网站的网友而言,这是个非常实用的功能。从今天开始,我们将给大家介绍如何使用 WordPress 自定义分类来建立功能强大的网站。这一教程将分为四个部分。第一部分介绍介绍一下WordPress的自定义分类功能;第二部分介绍如何建立一个自定义分类体系;第三部分介绍如何在主题中显示自定义分类信息;第四部分介绍如何在网站中查看自定义分类的文章。今天是第一部分,介绍一下WordPress的分类体系,以及为什么要自定义分类体系。什么是分类学?分类学就是区分不同事物的方法。本教程使用一篇关于台式计算机的例子来具体说明。通常一个台式计算机包括: 内存大小 硬盘空间 CPU速度 CPU类型 预装的操作系统 等等WordPress 分类简史类别在 WordPress 2.3 版本之前,WordPress 只有一个分类学概念,叫做类别,是针对博客中文章的。对于博客来讲,类别很有用,你可以建立一个顶级分类叫做“台式计算机”,然后创建一个子类别叫做“内存”,然后再创建一堆子类别,比如“小于1G”,“1GB”,“2GB-4GB”,如此等等。“台式计算机”的第二个字类别叫做“操作系统”,其可以创建子类别“Windows XP”,“Mac OS”,”Red Hat” ,”Ubuntu” ,如此等等。如果一个系统的类别可以再分为子类别,这个就是分级结构。使用 WordPress 2.3 对于一个严肃站点能做的最好的架构就是建立庞大类别体系,其中顶级的类别就是整个分类组。标签WordPress 2.3 版本增加了另一个分类学办法,叫做标签。类别很多地方无能为力,尤其是在指定文章内容类型的时候,标签提供了更自由、更先进的分类办法。比如说,当你些一片关于台式计算机的文章的时候,可以给文章增加一些关键词,比如“游戏”、“娱乐”、“风扇噪音大”,这就是标签。这些关键词与网站的类别体系无关,但是却可以提供一些额外的文章信息。网站访问者可以轻松地查看带有“风扇噪音大”标签的文章。但是,由于标签天生具有随意性,无法建立像操作系统或者CPU型号那样的牢固的分类系统。同时,标签也是1维的,不允许建立分级结构,也就是没有子标签。单级自定义分类学WordPress 2.8 开始引入了自定义分类学的概念,只需要修改很少的代码就可以在你的网站中使用此功能。自定义分类可以让你添加一个所有操作系统的列表,一个内存类型的列表,等等。然而,这个时候的自定义分类还不允许类似类别的分级结构。全功能分级自定义分类学WordPress 3 最终给我们带来了完整分级功能的自定义分类体系。注意这个分级体系允许我们简化操作系统分类体系,可以将所有Windows的发布版本作为Window的子类。这样,访问者就可以查看所有Windows操作系统的文章,也可以单独查看Windows XP等具体版本操作系统的文章。下一节,我们将介绍如何创建一个自定义分类体系,欢迎继续关注。WordPress 3 中的自定义分类型可以帮助你建立功能强大的网站,而不仅仅是个博客。今天是本教程的第二部分,介绍如何使用自定义分类功能来创建一个分类体系。昨天我们已经介绍过了,本教程分4个部分。第一部分介绍一下WordPress的自定义分类功能;第二部分介绍如何建立一个自定义分类体系;第三部分介绍如何在主题中显示自定义分类信息;第四部分介绍如何在网站中查看自定义分类的文章。我们教程中使用的WordPress是 3.1 beta 2 测试版,主题是默认的Twenty Ten(2010)1.3 alpha 测试版。如果你使用的不是上述版本,具体代码可能略有差别。但基本影响不大。创建一个自定义分类系统编辑主题的 functions.php 函数文件WordPress 3 不允许你直接在管理后台创建自定义分类。如果不用插件而建立一个自定义分类,我们需要在你使用的主题的函数文件 functions.php 中稍微编辑一下代码。并不太难别担心。要增加自定义分类,我们需要编辑你的主题目录中的 functions.php 函数文件。比如说,我们使用的主题是 Twenty Ten(2010),我的 WordPress 安装在一个叫做 wordpress 的目录内,那么这个函数文件 funcitons.php 就在:website_root/wordpress/wp-content/themes/twentyten/functions.php 。添加分类体系代码我们还以前面的台式计算机为例,对内存、硬盘和操作系统增加单独的分类体系。现在我们只是简单地增加分类体系,就像是增加一个空的容器,其中没有具体的类别。别担心,我们稍后可以在WordPress控制台自己添加和管理其中的分类。第1步:一个函数创建所有自定义分类首先,我们需要调用一个函数,来创建所有的分类。WordPress提供的这个函数叫做 build_taxonomies 。我们在 funcitons.php 文件的底部添加这个函数:123functionbuild_taxonomies() / 将在这里添加代码第2步:定义分类体系然后又,对于我们要创建的每个分类体系,我们需要使用正确的参数来调用一个 WordPress 函数。下面就是这个函数,以及其重要参数说明:12345678910register_taxonomy( internal_name, object_type, array( hierarchical= true|false, label=Human Readable Name, query_var= true|false, rewrite= true|false );在这里: internal_name: 分类体系在 WordPress 内部显示的名字,出现在数据库和模板文件中。 object_type: 分类体系适用于哪种内容类型。参数一般是 post, page, link ,也可以自定义的文章类型。 然后是一组可选参数,这里只列出较为重要的几个,其余的可以参考WordPress开发文档中关于 register_taxonomy 的介绍 。 hierarchical: 如果是 ture,那么这个分类体系是可以分层的,类似于类别;如果是 false,那么这个分类体系是不能分层的,类似于标签。 label: 这个便于阅读的分类体系的标题(类似于名称,也可以当作名称来用)。可用于翻译,只不能是中文。 query_bar: 如果是 true,那么可以请求WordPress搜索这个分类体系。比如说,你可以搜索属于“Windows”分类体系的文章。 rewrite: 如果是 true ,那么这个分类体系支持 url 重写,也就是永久链接结构。比如说,属于“Windows”操作系统的文章的列表的网址可以重写为:http:/yourdomain/operating_system_windows因此,我们建立操作系统分类的代码基本上是这样的:1register_taxonomy(operating_system,post,array(hierarchical= true,label=Operating System,query_var= true,rewrite= true ) );第3步:调用分类体系创建函数我们还需要在 functions.php 文件中再增加一行代码,来执行刚刚的创建分类的 build_taxonomies 函数。我们用下面这行代码来进行函数调用:1add_action(init,build_taxonomies, 0 );这行代码可以添加到任何地方,但是我们建议添加到 build_taxonomies() 函数上面。这样,整个代码看起来就是这样的。123456/ 自定义分类代码 add_action(init,build_taxonomies, 0 ); functionbuild_taxonomies() register_taxonomy(operating_system,post,array(hierarchical= true,label=Operating System,query_var= true,rewrite= true ) ); 进一步查看 add_action 函数的用法。在自定义分类体系中添加类别一旦你创建了正确地通过 functions.php 文件添加了“Operating System”分类体系, 那么它就会作为一个子项目出现在控制台“文章”栏下。点击“Operating System”,就可以来添加具体的分类了。现在,你就可以像管理 WordPress 类别那样,来添加和管理“Operating System”(操作系统)了。添加更多分类体系如果你还想要增加“RAM”(内存)和“Hard Drive”(硬盘)的分类体系,只要将以下代码加入到 functions.php 文件中即可:12register_taxonomy(ram,post,array(hierarchical= true,label=RAM,query_var= true,rewrite= true ) );register_taxonomy(hard_drive,post,array(hierarchical= true,label=Hard Drive,query_var= true,rewrite= true ) );添加之后,在 functions.php 文件中代码就像这样了:1234567/ 自定义分类代码add_action(init,build_taxonomies, 0 ); functionbuild_taxonomies() register_taxonomy(operating_system,post,array(hierarchical= true,label=Operating System,query_var= true,rewrite= true ) );register_taxonomy(ram,post,array(hierarchical= true,label=RAM,query_var= true,rewrite= true ) );register_taxonomy(hard_drive,post,array(hierarchical= true,label=Hard Drive,query_var= true,rewrite= true ) );在文章中使用自定义的分类体系新建一篇文章,你就能够在WordPress的文章编辑器旁边看到新的自定义的分类体系。根据需要,你可以选择任何一个具体的分类给你的文章。第二部分关于如何创建 WordPress 自定义分类的内容就介绍完了。下一部分,我们将给你介绍如何在主题中显示你已经添加的自定义分类的类别信息。使用 WordPress 自定义分类功能,可以建立起复杂系统的分类体系,可以支撑功能更为强大的网站,而不仅仅是个博客。本教程第三部分,将继续给你讲解如何在你的网站前台(主题中)显示你的WordPress 自定义分类信息。本系列教程共分为4个部分。在阅读本部分之前,建议你首先阅读第1部分:WordPress 自定义分类发展历程;第2部分:如何在主题中添加代码来实现自定义分类。在独立文章页面显示自定义分类信息在主题 TwentyTen 或者其他的主题中,文章内容的后面都会列出文章的类别,以及标签等。我们想在类别和标签信息之前添加上自定义分类的信息;当然如果不存在就不添加。要做到这一点,我们需要编辑 single.php 模板文件,这个通常是用来显示单独的一篇文章的。这个 single.php 文件的地址是: website_root/wordpress/wp-content/themes/twentyten/single.php 。实际上,TwentyTen 主题 1.3 alpha 中,在 single.php 文件中调用了 get_template_part() 函数来输出具体的单篇文章信息,也就是调用的了 loop-single.php 模板文件。因此,我们下面的具体修改,实际上是在 loop-single.php 中完成,但对于大部分主题而言,应该是 single.php 文件。你在修改自己的主题模板是要注意这一点。第1步:在正确的位置添加代码在 loop-single.php 文件中,找到如下一行:1这一块一般包括的是当前这篇文章的类别、标签、永久链接之类的信息。我们就要把自定义分类的信息放在这个块(div)代码上面。如果你还找不到这个 entry_ulility 的位置,它下面往往还有另一个块(div)来显示文章导航,也就是前一篇文章,后一篇文章:1或者你可以往前找找,肯定会有一个块(div)显示具体的文章内容,这个块中一般会调用 the_content() 函数来显示文章内容:1注意:自定义分类信息并不是必须放到文章内容之后,文章类别信息之前。这里只是便于网友理解,稍作解释。第2步:提取当前文章的自定义分类信息我们通过以下方式可以获取当前文章的自定义分类的信息:12345678ID,operating_system,Operating System(s): , ,);这里我们调用了 WordPress 函数 get_the_term_list ,下面介绍一下他的几个参数: $post-ID,当前文章的ID; operating_system,这个是我们想要检查的自定义分类的内部名字。我们查询本文是否有包含这个分类的类别信息。 Operating System(s) : 如果上面检查有返回值,那么这个字符串显示在返回值之前。注意:如果你喜欢,这里可以输入中文,但务必保持该文件的编码格式和你的数据库编码格式一样,否则为乱码。一般应为 UTF8 no BOM 格式。 , : 如果有多个返回值,那么用这个符号隔开。 ”: 如果没有返回值,我们就什么都不输出,隐藏这个信息。同样,我们也调用此函数检查一下另外两个自定义分类的信息:12$ram_list= get_the_term_list($post-ID,ram,RAM Option(s): , ,);$hd_list= get_the_term_list($post-ID,har

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论