php - 将自定义分类添加到我的自定义帖子类型 wordpress
问题描述
我一直在尝试向我的 wordpress 页面添加自定义帖子类型,但它没有显示出来。
我究竟做错了什么?
感觉它只是一件小事,但我没有看到它,因为我对自定义帖子类型相当陌生。
我想要的是为我们公司的团队创建页面,我们可以展示我们所有的成员
<?php
function mon_register_post_type() {
$labels = array(
'name' => __( 'Teams' ),
'singular_name' => __( 'Team' ),
'add_new' => __( 'Add new'),
'add_new_item' => __( 'Add New member'),
'edit_item' => __( 'Edit member'),
'new_item' => __( 'New member'),
'view_item' => __( 'View members'),
'search_items' => __( 'Search members'),
'not_found' => __( 'No memebers Found' ),
'not_found_in_trash' => __( 'No members found in Trash' )
);
$args = array(
'labels' => $labels,
'has_archive' => true,
'public' => true,
'hierarchical' => true,
'public' => true,
'show_ui' => true,
'show_in_menu' => true,
'show_in_nav_menus' => true,
'show_in_admin_bar' => true,
'menu_position' => 5,
'can_export' => true,
'exclude_from_search' => false,
'publicly_queryable' => true,
'show_in_rest' => true,
'supports' => array('title','editor', 'excerpt', 'custom-fields', 'thumbnail', 'page-attributes'),
'taxonomies' => array( 'teams' ),
'rewrite' => array( 'slug' => 'member' ),
);
register_post_type( 'mon_member', $args );
register_taxonomy('teams', ['team'], [
'label' => __('Teams', 'txtdomain'),
'hierarchical' => true,
'rewrite' => ['slug' => 'team'],
'show_admin_column' => true,
'show_in_rest' => true,
'labels' => [
'singular_name' => __('Team', 'txtdomain'),
'all_items' => __('All Teams', 'txtdomain'),
'edit_item' => __('Edit Team', 'txtdomain'),
'view_item' => __('View Team', 'txtdomain'),
'update_item' => __('Update Team', 'txtdomain'),
'add_new_item' => __('Add New Team', 'txtdomain'),
'new_item_name' => __('New Genre Team', 'txtdomain'),
'search_items' => __('Search Teams', 'txtdomain'),
'parent_item' => __('Parent Teams', 'txtdomain'),
'parent_item_colon' => __('Parent Team:', 'txtdomain'),
'not_found' => __('No Teams found', 'txtdomain'),
]
]);
register_taxonomy_for_object_type('teams', 'team');
}
add_action( 'init', 'mon_register_post_type' );
?>
解决方案
我总是这样做的方式,注册自定义帖子类型,就像你已经完成的那样
register_post_type( 'magazines',
// CPT Options
array(
'labels' => array(
'name' => __( 'Magazines' ),
'singular_name' => __( 'magazines' ),
'archives' => __( 'magazines' ),
),
'public' => true,
'has_archive' => true,
'show_in_rest' => true,
'rewrite' => array('slug' => 'magazines'),
'show_in_nav_menu' => true,
'menu_position' => 9,
'supports' => array('title', 'editor', 'thumbnail', 'author'),
)
);
然后像这样的分类注册
function magazine_type_taxonomy() {
$labels = array(
'name' => _x( 'Magazine Categories', 'magazine-taxonomy', 'text_domain' ),
'singular_name' => _x( 'Magazine Categories', 'magazine-taxonomy', 'text_domain' ),
'menu_name' => __( 'Magazine Categories', 'text_domain' ),
'all_items' => __( 'All Items', 'text_domain' ),
'parent_item' => __( 'Parent Item', 'text_domain' ),
'parent_item_colon' => __( 'Parent Item:', 'text_domain' ),
'new_item_name' => __( 'New Item Name', 'text_domain' ),
'add_new_item' => __( 'Add New Item', 'text_domain' ),
'edit_item' => __( 'Edit Item', 'text_domain' ),
'update_item' => __( 'Update Item', 'text_domain' ),
'view_item' => __( 'View Item', 'text_domain' ),
'add_or_remove_items' => __( 'Add or remove items', 'text_domain' ),
'choose_from_most_used' => __( 'Choose from the most used', 'text_domain' ),
'popular_items' => __( 'Popular Items', 'text_domain' ),
'search_items' => __( 'Search Items', 'text_domain' ),
'not_found' => __( 'Not Found', 'text_domain' ),
'no_terms' => __( 'No items', 'text_domain' ),
'items_list' => __( 'Items list', 'text_domain' ),
'items_list_navigation' => __( 'Items list navigation', 'text_domain' ),
);
$args = array(
'labels' => $labels,
'hierarchical' => true,
'public' => true,
'show_ui' => true,
'show_admin_column' => true,
'show_in_nav_menus' => true,
'show_tagcloud' => true,
'show_in_rest' => true,
'rest_base' => 'mag_type',
'rest_controller_class' => 'WP_REST_Terms_Controller',
);
register_taxonomy( 'magazine-taxonomy', array( 'magazines', 'digital'), $args );
}
add_action( 'init', 'magazine_type_taxonomy', 0 );
请注意我是如何在分类中分配自定义帖子类型而不是在实际帖子类型本身中
推荐阅读
- javascript - 过渡淡出效果完成后从 dom 中删除类
- amazon-s3 - 未找到 Flink-Kubernetes Azure Blob 存储和 S3 文件系统实现
- c# - 将 DateTime 格式化为特定格式
- python - 从 Linux CI 机器为 Windows 部署打包和编译 Python 应用程序?
- javascript - Javascript 在文本中查找单词并动态更改颜色
- javascript - 为什么function.toString() 输出的是“[native code]”,而登录到控制台直接显示函数的源代码?
- amazon-web-services - 无法找到凭证 aws cli
- android - 运行 buildozer android debug deploy run logcat 后出现 KeyError: 'kivy.garden.mapview'。在我的构建器文件中,我没有 garden_requirements
- initialization - 在具有多个工作表的时间跟踪器中调用初始化的问题,其中工作表被分配给不同的用户
- azure - VS 代码无法连接到 Azure 机器学习中的计算机实例