在WordPress中创建自定义文章类型,您需要使用register_post_type()
函数。以下是一个基本的示例,说明如何使用此函数来创建一个名为“Book”的自定义文章类型。
首先,您需要在您的插件文件或者主题的functions.php
文件中添加以下代码:
function create_book_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' ),
'name_admin_bar' => __( 'Book', 'textdomain' ),
'archives' => __( 'Book Archives', 'textdomain' ),
'attributes' => __( 'Book Attributes', 'textdomain' ),
'parent_item_colon' => __( 'Parent Book:', 'textdomain' ),
'all_items' => __( 'All Books', 'textdomain' ),
'add_new_item' => __( 'Add New Book', 'textdomain' ),
'add_new' => __( 'Add New', 'textdomain' ),
'new_item' => __( 'New Book', 'textdomain' ),
'edit_item' => __( 'Edit Book', 'textdomain' ),
'update_item' => __( 'Update Book', 'textdomain' ),
'view_item' => __( 'View Book', 'textdomain' ),
'view_items' => __( 'View Books', 'textdomain' ),
'search_items' => __( 'Search Book', 'textdomain' ),
'not_found' => __( 'Not found', 'textdomain' ),
'not_found_in_trash' => __( 'Not found in Trash', 'textdomain' ),
'featured_image' => __( 'Featured Image', 'textdomain' ),
'set_featured_image' => __( 'Set featured image', 'textdomain' ),
'remove_featured_image' => __( 'Remove featured image', 'textdomain' ),
'use_featured_image' => __( 'Use as featured image', 'textdomain' ),
'insert_into_item' => __( 'Insert into book', 'textdomain' ),
'uploaded_to_this_item' => __( 'Uploaded to this book', 'textdomain' ),
'items_list' => __( 'Books list', 'textdomain' ),
'items_list_navigation' => __( 'Books list navigation', 'textdomain' ),
'filter_items_list' => __( 'Filter books list', 'textdomain' ),
);
// 设置参数
$args = array(
'label' => __( 'Book', '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', 'create_book_post_type', 0 );
在这个例子中,我们定义了一个名为“Book”的自定义文章类型,并为其设置了标签和参数。以下是参数中的一些关键点:
supports
:定义了文章类型支持的功能,如标题、编辑器、缩略图等。taxonomies
:定义了可以与文章类型关联的分类法,这里我们使用了默认的分类和标签。hierarchical
:定义了文章类型是否可以有父子关系,类似于页面。public
:定义了文章类型是否可以被公开访问。show_ui
:定义了是否在管理界面显示文章类型。menu_position
:定义了文章类型在管理菜单中的位置。
请将上述代码添加到您的插件或主题中,并在WordPress后台查看新的“Books”菜单项。您现在可以创建和管理“Book”类型的文章了。