a) 为名为“我的东西”的菜单项创建自定义帖子类型和写入面板
易于理解的这个Codex 应该告诉你你需要知道的一切。
但这里有另一个例子:
add_action( \'init\', \'wpse_17863\' );
/**
* Creates a visible post type.
*
* Don’t forget to visit wp-admin/options-permalink.php once to refresh
* the rewrite rules!
*
* @return void
*/
function wpse_17863()
{
$labels = array (
// Usually plural.
\'name\' => \'Stuffies\'
, \'singular_name\' => \'Stuffy\'
, \'add_new\' => \'New Stuff\'
, \'add_new_item\' => \'Add New Stuff\'
, \'edit_item\' => \'Edit Stuffy\'
, \'new_item\' => \'New Stuffy\'
, \'view_item\' => \'View Stuffy\'
, \'search_items\' => \'Search Stuffies\'
, \'not_found\' => \'No Stuffies found\'
, \'not_found_in_trash\' => \'No Stuffies found in Trash\'
, \'parent_item_colon\' => \'Parent Stuffy:\'
);
register_post_type(
\'stuffy\'
, array (
// visible
\'public\' => TRUE
// Menu main name, usually plural
, \'label\' => \'Stuffies\'
// All labels
, \'labels\' => $labels
// Menu position
// 5 - below Posts
// 10 - below Media
// 15 - below Links
// 20 - below Pages
// 25 - below comments
// 60 - below first separator
// 65 - below Plugins
// 70 - below Users
// 75 - below Tools
// 80 - below Settings
// 100 - below second separator
, \'menu_position\' => 5
// permalinks
, \'rewrite\' => array ( \'slug\' => \'stuff\' )
// Create a default archive at /stuff/
, \'has_archive\' => TRUE
// Allow child pages.
, \'hierarchical\' => TRUE
// Add it to custom menus
, \'show_in_nav_menus\' => TRUE
// Components of the editor.
, \'supports\' => array (
\'editor\'
, \'excerpt\'
, \'page-attributes\'
, \'thumbnail\'
, \'title\'
)
// We use the built-in taxonomies too.
, \'taxonomies\' => array ( \'category\', \'post_tag\' )
)
);
}
b)“我的东西”的行为就像一个类别——但内容不会出现在主博客中。它只会出现在“我的东西”下
我不明白这部分。自定义帖子类型可能use 分类法——我在示例中添加了类别和标记进行演示——但它不是分类法。您可以像处理页面一样使用严格的父子关系<如果你在问题中澄清了这一点,我可能会更新我的答案。
本主题中零散的教程都没有清楚地解释如何在页面或循环之外的任何位置显示自定义帖子类型的内容。
参数\'has_archive\'
是rather new. 以前的教程可能没有提到这一点
要链接到主题或插件中的新存档,请使用get_post_type_archive_link( \'stuffy\' )
.