在WordPress中创建自定义文章类型是通过 register_post_type()
函数实现的。以下是如何正确使用 register_post_type()
创建自定义文章类型的步骤和示例代码:
步骤:
-
确定自定义文章类型的名称:这通常是小写字母,并且应该与文章类型的功能相关。
-
定义标签和功能:设置文章类型的标签(如单数名称、复数名称等)和其他功能(如支持的功能、菜单图标等)。
-
在
init
动作中注册文章类型:在WordPress的init
动作中调用register_post_type()
函数。 -
使用钩子将代码添加到WordPress:使用
add_action()
钩子将自定义文章类型的注册代码添加到WordPress的init
动作。
示例代码:
以下是一个简单的示例,展示了如何创建一个名为 "book" 的自定义文章类型:
function my_custom_post_type() {
// 设置标签
$labels = array(
'name' => _x( 'Books', 'Post Type General Name', 'textdomain' ),
'singular_name' => _x( 'Book', 'Post Type Singular Name', 'textdomain' ),
'menu_name' => __( 'Books', 'textdomain' ),
// 其他标签...
);
// 设置参数
$args = array(
'label' => __( 'Books', 'textdomain' ),
'description' => __( 'Book custom post type', 'textdomain' ),
'labels' => $labels,
// 支持的功能
'supports' => array( 'title', 'editor', 'thumbnail', 'revisions', 'custom-fields', ),
// 其他参数...
'taxonomies' => array( 'category', 'post_tag' ),
'hierarchical' => false,
'public' => true,
'show_ui' => true,
'show_in_menu' => true,
'menu_position' => 5,
'show_in_admin_bar' => true,
'show_in_nav_menus' => true,
'can_export' => true,
'has_archive' => true,
'exclude_from_search' => false,
'publicly_queryable' => true,
'capability_type' => 'post',
);
// 注册文章类型
register_post_type( 'book', $args );
}
// 在 init 动作中添加自定义文章类型
add_action( 'init', 'my_custom_post_type', 0 );
在这个例子中,我们定义了一个名为 "book" 的自定义文章类型,它支持标题、编辑器、缩略图、修订和自定义字段。我们还指定了它应该使用分类和标签作为其分类法,并且它是非层次结构的。
请确保将 'textdomain'
替换为您自己的文本域,这样您就可以正确地本地化您的插件。
在创建自定义文章类型时,请确保阅读WordPress的官方文档,以获取更多关于 register_post_type()
函数和其参数的详细信息。。