软件下载 | 资讯教程 | 最近更新 | 下载排行 | 一键转帖 | 发布投稿
您的位置:最火下载站 > 建站程序 > Blog教程 > 如何在WordPress 3.0中使用自定义分类法(2)

如何在WordPress 3.0中使用自定义分类法(2)

Wordpress2.8下,通过稍微修改网站的代码你可以添加自定义分类方案。这样你可以创建一个包含所有“操作系统"的文章列表,并与另一个包含所有“随机存储器”的文章列表单独分开,当然还可以创建其他类似的列表。不过,它却无法像常见的“类别”分类法拥有内在的层级结构。

完全层次自定义分类法

WP使用自定义分类

最后,WordPress3上才可以拥有完全层级的自定义分类法。你将会发现这个完全层级自定义分类是多么强大,就拿操作系统来说,你可以将所有不同的Windows变种放置到Windows父类别下。这样用户选择Windows操作系统的时候就可以看到所有相关的文章,而如果他们想只查找Windows xp电脑相关的信息就可以选择Windows XP下的文章。

创建一个自定义分类法

编辑主题functions.php文件

WordPress3无法在管理后台创建自定义的分类法。如果不使用插件初次定义一个自定义分类法时,你将需要在主题 functions.php文件里添加点代码,其实也不难,跟着下面的指示就可以了。

在主题目录里找到“functions.php”文件,假设你使用的是WordPress3.0的默认主题“twentyten”,WordPress是安装在一个叫做“wp.”的目录下,那么functions.php文件的路径就是:
[website_root]/wp/wp-content/themes/twentyten/functions.php.

在代码中添加分类法

仍然以台式电脑为例,我们需要单独添加“随机存储器”、“硬盘驱动器”和“操作系统”这样的分类。在这里,仅仅是添加了分类法本身,也就是说设定完之后它们就像是一个“空的容器”,而你需要通过管理面板那命名管理不同分类,如“Windows XP”。

步骤一:使用一个函数创建所有的分类

首先,需要创建一个函数来创建所有需要的分类。这个函数叫做“build_taxonomies”,在functions.php文件的底端添加这个函数:

function build_taxonomies() {      // 定义分类法的代码将写在这里 }  

步骤二:定义分类法

接着,对于每个需要创建的分类法,我们需要启用某个WordPress函数以及正确的参数。下面就是该函数以及它相关的重要参数的解释。

register_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)”。
  • 接着就是一组可选择的参数。本教程就使用最为重要的几个参数,其他参数大家也可以在官方的引用函数/ register_taxonomy Codex页面上找到。我们将使用到的参数有:
  • hierarchical: 如果设置为"true"的话,意味着此分类法拥有的层级功能,就像WordPress“类别”的分类一样。反之,如果设置为‘false’,那么它就会像标签一样灵活没有分层的制约。
  • label: 这是一个对用户可见的用户标记此分类法的一个标记。
  • query_var: 如果设置为‘true’,那么选择该分类法后,我们可以要求WordPress为我们选择相关的文章,例如,依据操作系统分类法,如果选择“Windows”,WordPress系统就会为你列出所有Windows下的文章。
  • rewrite: 如果设置为‘true’,在浏览一个页面时,WordPress将会使用友好的URL地址。例如,选择Windows操作系统之后列出的文章列表页面的URL地址将会是这样的: http://domain.com/operating_system/windows

添加操作系统分类法的代码如下:

register_taxonomy( 'operating_system', 'post', array( 'hierarchical' => true, 
'label' => 'Operating System', 'query_var' => true, 'rewrite' => true ) );  

请在前面提到的“build_taxonomies”函数里添加上面的代码。

更多信息:

参阅这里

相关阅读
栏目导航
推荐软件