【问题标题】:Have more than one custom post type拥有不止一种自定义帖子类型
【发布时间】:2013-10-31 09:28:19
【问题描述】:

我正在构建一个 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 );
}

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

【问题讨论】:

  • 也改变你的标签
  • 对不起@wordpresser 你能解释一下吗?如果我将所有教程、教程等...更改为视频,视频不起作用?标签是什么?

标签: php wordpress themes wordpress-theming custom-post-type


【解决方案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的变化

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多