【发布时间】:2014-03-24 11:14:08
【问题描述】:
我是新来的,我需要你的帮助,因为我不明白如何解决这个问题。
我需要注册一个新的自定义帖子类型“教程”,因为我想为它们提供不同的设计,并将它们与其他帖子分开。我还想按类别组织它们,因此我将为此使用分类法。我已经阅读了很多教程(这里和来自谷歌),我找到了很多方法来做到这一点,但结果不是我所期望的。最后,我把这段代码写在一个插件里:
<?php
/*
Plugin Name: My Custom Post Types
Description: A plugin for our custom post types like tutorials etc.
*/
/*====================================================
Register new custom post type - tutorials
======================================================*/
function register_my_custom_post_type_tutorials() {
$labels = array(
'name' => 'Tutorials',
'singular_name' => 'Tutorial',
'add_new' => 'Add New',
'add_new_item' => 'Add New Tutorial',
'edit_item' => 'Edit Tutorial',
'new_item' => 'New Tutorial',
'all_items' => 'All Tutorials',
'view_item' => 'View Tutorial',
'search_items' => 'Search Tutorials',
'not_found' => 'No tutorials found',
'not_found_in_trash' => 'No tutorials found in Trash',
'parent_item_colon' => '',
'menu_name' => 'Tutorials'
);
$args = array(
'labels' => $labels,
'public' => true,
'publicly_queryable' => true,
'show_ui' => true,
'show_in_menu' => true,
'query_var' => true,
'rewrite' => array( 'slug' => 'tutorials' ),
'capability_type' => 'post',
'has_archive' => true,
'hierarchical' => false,
'menu_position' => null,
'supports' => array( 'title', 'editor', 'author', 'thumbnail', 'excerpt', 'comments','custom-fields','page-attributes','post-formats' )
);
register_post_type( 'wizz-tutorials', $args );
}
add_action( 'init', 'register_my_custom_post_type_tutorials' );
/*====================================================
Register Custom Taxonomies for Tutorials - Categories
======================================================*/
add_action('init', 'register_tutorials_taxonomy');
function register_tutorials_taxonomy() {
// Add new taxonomy, make it hierarchical (like categories)
register_taxonomy('wizz-tutorials-category',
'wizz-tutorials',
array (
'labels' => array (
'name' => 'Tutorials Categories',
'singular_name' => 'Tutorials Categories',
'search_items' => 'Search Tutorials Categories',
'popular_items' => 'Popular Tutorials Categories',
'all_items' => 'All Tutorials Categories',
'parent_item' => 'Parent Tutorials Category',
'parent_item_colon' => 'Parent Tutorials Category:',
'edit_item' => 'Edit Tutorials Category',
'update_item' => 'Update Tutorials Category',
'add_new_item' => 'Add New Tutorials Category',
'new_item_name' => 'New Tutorials Category',
),
'hierarchical' => true,
'show_ui' => true,
'show_tagcloud' => true,
'rewrite' => array( 'slug' => 'tuts-category' ),
'public' => true
)
);
}
?>
在管理面板中,现在我可以添加“教程”。我还为它们创建了一些类别(photoshop、web 等)。问题出在蛞蝓上。
我现在拥有的:
mywebsite.com/tutorials/- 所有教程的存档(使用archive.php)mywebsite.com/tutorials/post-name- 显示教程(使用single.php)mywebsite.com/tuts-category/photoshop/- 只显示那些 属于这一类
这是完美的,但我想要一些不同的东西:
mywebsite.com/tutorials/mywebsite.com/tutorials/post-namemywebsite.com/tutorials/photoshop/
但如果分类法的 slug 发生变化,例如 'rewrite' => array( 'slug' => 'tutorials' ),我会得到一个 404 error。
有没有办法做到这一点?还有一个问题,我的代码正确吗?谢谢!
【问题讨论】:
标签: wordpress