0

我正在构建一个 WordPress 主题并想添加自定义帖子类型。我在网上查过,但似乎找不到答案。

现在我在functions.php中有这段代码

add_action( 'init', 'register_cpt_tutorial' );

function register_cpt_tutorial() {

$labels = array( 
    'name' => _x( 'Tutorials', 'tutorial' ),
    'singular_name' => _x( 'Tutorial', 'tutorial' ),
    'add_new' => _x( 'Add New', 'tutorial' ),
    'add_new_item' => _x( 'Add New Tutorial', 'tutorial' ),
    'edit_item' => _x( 'Edit Tutorial', 'tutorial' ),
    'new_item' => _x( 'New Tutorial', 'tutorial' ),
    'view_item' => _x( 'View Tutorial', 'tutorial' ),
    'search_items' => _x( 'Search Tutorials', 'tutorial' ),
    'not_found' => _x( 'No tutorials found', 'tutorial' ),
    'not_found_in_trash' => _x( 'No tutorials found in Trash', 'tutorial' ),
    'parent_item_colon' => _x( 'Parent Tutorial:', 'tutorial' ),
    'menu_name' => _x( 'Tutorials', 'tutorial' ),
);

$args = array( 
    'labels' => $labels,
    'hierarchical' => false,
    'description' => 'Tutorials description will be here',
    'supports' => array( 'title', 'editor', 'thumbnail', 'comments' ),
    'taxonomies' => array( 'category' ),
    'public' => true,
    'show_ui' => true,
    'show_in_menu' => true,
    'menu_position' => 20,

    'show_in_nav_menus' => true,
    'publicly_queryable' => true,
    'exclude_from_search' => false,
    'has_archive' => true,
    'query_var' => true,
    'can_export' => true,
    'rewrite' => true,
    'capability_type' => 'post'
);

register_post_type( 'tutorial', $args );
}

如果我复制并粘贴此代码并将“教程”更改为“视频”,则不会创建第二个帖子类型。有人可以帮帮我吗?

4

1 回答 1

1

我建议使用 WP 插件自定义帖子类型 UI

http://wordpress.org/plugins/custom-post-type-ui/

但如果你想使用代码试试这个:

add_action( 'init', 'register_cpt_tutorial' );

function register_cpt_tutorial() {

$labels = array( 
    'name' => _x( 'Tutorials', 'tutorial' ),
    'singular_name' => _x( 'Tutorial', 'tutorial' ),
    'add_new' => _x( 'Add New', 'tutorial' ),
    'add_new_item' => _x( 'Add New Tutorial', 'tutorial' ),
    'edit_item' => _x( 'Edit Tutorial', 'tutorial' ),
    'new_item' => _x( 'New Tutorial', 'tutorial' ),
    'view_item' => _x( 'View Tutorial', 'tutorial' ),
    'search_items' => _x( 'Search Tutorials', 'tutorial' ),
    'not_found' => _x( 'No tutorials found', 'tutorial' ),
    'not_found_in_trash' => _x( 'No tutorials found in Trash', 'tutorial' ),
    'parent_item_colon' => _x( 'Parent Tutorial:', 'tutorial' ),
    'menu_name' => _x( 'Tutorials', 'tutorial' ),
);

$args = array( 
    'labels' => $labels,
    'hierarchical' => false,
    'description' => 'Tutorials description will be here',
    'supports' => array( 'title', 'editor', 'thumbnail', 'comments' ),
    'taxonomies' => array( 'category' ),
    'public' => true,
    'show_ui' => true,
    'show_in_menu' => true,
    'menu_position' => 20,

    'show_in_nav_menus' => true,
    'publicly_queryable' => true,
    'exclude_from_search' => false,
    'has_archive' => true,
    'query_var' => true,
    'can_export' => true,
    'rewrite' => true,
    'capability_type' => 'post'
);
// ----- Second post type
$labels2 = array( 
    'name' => _x( 'video', 'video' ),
    'singular_name' => _x( 'video', 'video' ),
    'add_new' => _x( 'Add New', 'video' ),
    'add_new_item' => _x( 'Add New video', 'video' ),
    'edit_item' => _x( 'Edit video', 'video' ),
    'new_item' => _x( 'New video', 'video' ),
    'view_item' => _x( 'View video', 'video' ),
    'search_items' => _x( 'Search video', 'video' ),
    'not_found' => _x( 'No video found', 'video' ),
    'not_found_in_trash' => _x( 'No video found in Trash', 'video' ),
    'parent_item_colon' => _x( 'Parent video:', 'tutorial' ),
    'menu_name' => _x( 'video', 'video' ),
);

$args2 = array( 
    'labels' => $labels2,
    'hierarchical' => false,
    'description' => 'Tutorials description will be here',
    'supports' => array( 'title', 'editor', 'thumbnail', 'comments' ),
    'taxonomies' => array( 'category' ),
    'public' => true,
    'show_ui' => true,
    'show_in_menu' => true,
    'menu_position' => 20,

    'show_in_nav_menus' => true,
    'publicly_queryable' => true,
    'exclude_from_search' => false,
    'has_archive' => true,
    'query_var' => true,
    'can_export' => true,
    'rewrite' => true,
    'capability_type' => 'post'
);

register_post_type( 'tutorial', $args );
register_post_type( 'video', $args2 );
}

注意 $args - $args2 和 $labels - $labels2 的变化

于 2013-11-02T01:46:11.153 回答