在WordPress中创建自定义文章类型需要使用register_post_type()
函数。以下是一个基本的步骤和示例代码,说明如何使用register_post_type()
来创建一个自定义文章类型。
步骤:
-
设置钩子:首先,你需要设置一个钩子(hook)来在WordPress初始化过程中注册你的自定义文章类型。通常使用
init
钩子。 -
定义函数:在这个钩子中,定义一个函数来调用
register_post_type()
。 -
传递参数:在
register_post_type()
函数中,你需要传递一个参数数组,该数组定义了文章类型的名称、标签、支持的功能等。
示例代码:
function create_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' ),
'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 );
}
// 在WordPress初始化时添加钩子
add_action( 'init', 'create_custom_post_type', 0 );
在这个例子中,我们创建了一个名为book
的自定义文章类型,它支持标题、编辑器、缩略图和修订,并且可以被分类和打标签。
请确保将textdomain
替换为你的文本域,这是用于国际化目的的字符串,用于翻译字符串。
将上述代码添加到你的主题的functions.php
文件中或创建一个插件,并在激活后,你应该能够在WordPress管理面板中看到新的“Books”菜单项,并且可以开始添加和管理你的自定义文章类型。