
您现在的位置是:首页 > WordPress教程WordPress教程
WordPress自定义分类法
WP集市
2025-09-10
【WordPress教程】
533人已围观
-
先说清楚啥是自定义分类法吧。WordPress自带的文章分类和标签其实就属于 taxonomy,但如果你要搞个图书网站,光靠这俩不够用啊——比如你想给每本书加个“出版社”或者“作者”属性,这时候就得自己造一个分类法了。简单说,它就是给内容贴自定义标签的系统,比默认的分类更灵活,能让你把内容整理成自己想要的样子。
-
注册分类法的代码长这样,扔到主题的 functions.php 里就行。看例子,我们创建一个叫“出版社”的分类法,专门给文章类型用:
function create_publisher_taxonomy() {
$labels = array(
'name' => '出版社',
'singular_name' => '出版社',
'search_items' => '搜索出版社',
'all_items' => '所有出版社',
'edit_item' => '编辑出版社',
'update_item' => '更新出版社',
'add_new_item' => '添加新出版社',
'new_item_name' => '新出版社名称',
'menu_name' => '出版社'
);
$args = array(
'hierarchical' => true, // 像分类一样支持层级
'labels' => $labels,
'show_ui' => true,
'show_admin_column' => true,
'query_var' => true,
'rewrite' => array('slug' => 'publisher'),
);
register_taxonomy('publisher', 'post', $args); // 关联到文章
}
add_action('init', 'create_publisher_taxonomy');
这代码一跑,后台文章编辑页面就会多出一个出版社分类框,你可以像添加分类一样往里塞数据。
- 但有时候你需要更野的路子——比如把分类法挂到自定义文章类型上。假设你有个“图书”文章类型,得这样改:
// 先确保有自定义文章类型
function create_book_post_type() {
register_post_type('book',
array(
'labels' => array('name' => '图书'),
'public' => true,
'has_archive' => true,
)
);
}
add_action('init', 'create_book_post_type');
// 再把出版社分类法绑到图书上
register_taxonomy('publisher', 'book', $args); // 把之前的$args拿来用
这下出版社只出现在图书编辑界面,不会干扰普通文章。
- 前端显示分类术语?用 get_the_terms() 就行。比如在单篇文章模板里输出所有出版社:
<?php
$publishers = get_the_terms(get_the_ID(), 'publisher');
if ($publishers && !is_wp_error($publishers)) {
echo '出版社: ';
foreach ($publishers as $publisher) {
echo '<a href="' . get_term_link($publisher) . '">' . $publisher->name . '</a> ';
}
}
?>
这样点出版社名字就能跳转到归档页,列出所有属于该出版社的内容。
- 自定义分类法的归档页和默认分类差不多,但你需要自己搞模板文件。根据WordPress的模板层级,可以创建 taxonomy-publisher.php 来定制出版社归档页的样式。比如:
<?php
get_header();
while (have_posts()) : the_post();
the_title('<h2>', '</h2>');
the_content();
endwhile;
get_footer();
?>
这样所有出版社归档页都会用这个模板渲染。
-
有时候你想在分类法里存额外字段——比如给出版社加个logo图。这时候得用 Advanced Custom Fields 这类插件,或者自己写meta框。但那是另一个层面的折腾了,今天先不提。
-
性能注意点:如果你站内容量巨大,自定义分类法可能会拖慢查询速度。这时候最好用缓存插件或者优化数据库索引。别等到网站卡成PPT才想起来这茬。
-
最后扯点有的没的:分类法本质上是一种内容组织思维,就像给衣柜分格子——你可以按季节分,按颜色分,甚至按心情分。WordPress给了你分格子的自由,但别分得太细,否则找袜子时得翻半天。
总之,自定义分类法是WordPress里被低估的功能之一,用好了能让内容管理更顺滑。代码例子都在上面了,自己复制粘贴改改就行。
Tags:
文章版权声明:除非注明,否则均为WP集市原创文章,转载或复制请以超链接形式并注明出处。
上一篇:WordPress重定向设置
下一篇:WordPress自定义文章类型

热门文章
