WordPress主题添加自定义文章类型register_post_type和分类法
在WordPress中,你可以使用register_post_type
register_taxonomy
函数来添加自定义分类法(Custom Taxonomy)。以下是如何使用这两个函数的示例:
添加自定义文章类型
要添加自定义文章类型,你可以在主题的functions.php
文件中添加以下代码:
function custom_post_type_example() {
$labels = array(
'name' => '自定义文章类型',
'singular_name' => '自定义文章',
'menu_name' => '自定义文章',
'name_admin_bar' => '自定义文章',
'add_new' => '添加新文章',
'add_new_item' => '添加新文章',
'new_item' => '新文章',
'edit_item' => '编辑文章',
'view_item' => '查看文章',
'all_items' => '所有文章',
'search_items' => '搜索文章',
'parent_item_colon' => '父文章:',
'not_found' => '未找到文章',
'not_found_in_trash' => '回收站中未找到文章'
);
$args = array(
'public' => true,
'labels' => $labels,
'menu_icon' => 'dashiconsformataside', // 修改为你想要的图标
'supports' => array( 'title', 'editor', 'thumbnail', 'customfields' ),
'has_archive' => true,
'rewrite' => array( 'slug' => 'custompost' ), // 修改为你想要的自定义链接
);
register_post_type( 'custom_post_type', $args );
}
add_action( 'init', 'custom_post_type_example' );
在这个示例中,我们创建了一个名为"custom_post_type"的自定义文章类型。你可以根据自己的需要更改标签、图标、支持的字段和链接等参数。
添加自定义分类法
要添加自定义分类法,你可以在主题的functions.php
文件中添加以下代码:
function custom_taxonomy_example() {
$labels = array(
'name' => '自定义分类法',
'singular_name' => '自定义分类',
'search_items' => '搜索分类',
'all_items' => '所有分类',
'parent_item' => '父分类',
'parent_item_colon' => '父分类:',
'edit_item' => '编辑分类',
'update_item' => '更新分类',
'add_new_item' => '添加新分类',
'new_item_name' => '新分类名称',
'menu_name' => '自定义分类法',
);
$args = array(
'hierarchical' => true, // 如果你想要支持子分类,设置为true
'labels' => $labels,
'show_ui' => true,
'show_admin_column' => true,
'query_var' => true,
'rewrite' => array( 'slug' => 'customtaxonomy' ), // 修改为你想要的自定义链接
);
register_taxonomy( 'custom_taxonomy', array( 'custom_post_type' ), $args );
}
add_action( 'init', 'custom_taxonomy_example' );
在这个示例中,我们创建了一个名为"custom_taxonomy"的自定义分类法,并将其关联到之前创建的"custom_post_type"自定义文章类型上。你可以根据需要修改标签、链接等参数。
添加完上述代码后,记得刷新WordPress的固定链接以确保自定义文章类型和分类法的重写规则生效。你可以在WordPress后台的"设置" > "固定链接"下点击"保存更改"来完成这一步骤。
一旦完成上述步骤,你就可以在WordPress中使用你创建的自定义文章类型和分类法了。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
仍然有问题? 我们要如何帮助您?