Wordpress yith_供应商用户角色未显示我的自定义帖子类型
我们已经为WooCommerce插件开发了产品。现在我们想做一个扩展,显示由YITH multi-vendors插件创建的供应商拥有的所有产品。所以问题是,如果我向供应商注册,即使我将所有功能分配给该用户角色或用户,我也看不到我的自定义帖子类型“manage offers”。您能否帮助我如何允许具有供应商角色的用户访问我的自定义帖子类型?它显示了供应商角色的错误“无效帖子类型” 以下是我们开发的插件: 我们要为创建扩展 以下是注册自定义邮件类型的代码:Wordpress yith_供应商用户角色未显示我的自定义帖子类型,wordpress,woocommerce,Wordpress,Woocommerce,我们已经为WooCommerce插件开发了产品。现在我们想做一个扩展,显示由YITH multi-vendors插件创建的供应商拥有的所有产品。所以问题是,如果我向供应商注册,即使我将所有功能分配给该用户角色或用户,我也看不到我的自定义帖子类型“manage offers”。您能否帮助我如何允许具有供应商角色的用户访问我的自定义帖子类型?它显示了供应商角色的错误“无效帖子类型” 以下是我们开发的插件: 我们要为创建扩展 以下是注册自定义邮件类型的代码: add_action('init', ar
add_action('init', array( $this, 'angelleye_ofwc_add_post_type_woocommerce_offer' ) );
function angelleye_ofwc_add_post_type_woocommerce_offer(){
$show_in_menu = current_user_can( 'manage_woocommerce' ) ? 'woocommerce' : true;
$args = array(
'labels' => array(
'name' => __('Manage Offers', 'offers-for-woocommerce'),
'singular_name' => __('WooCommerce Offer', 'offers-for-woocommerce'),
'add_new' => __('Add New', 'offers-for-woocommerce'),
'add_new_item' => __('Add New WooCommerce Offer', 'offers-for-woocommerce'),
'edit' => __('Manage', 'offers-for-woocommerce'),
'edit_item' => __('Manage WooCommerce Offer', 'offers-for-woocommerce'),
'new_item' => __('New WooCommerce Offer', 'offers-for-woocommerce'),
'view' => __('View', 'offers-for-woocommerce'),
'view_item' => __('View WooCommerce Offer', 'offers-for-woocommerce'),
'search_items' => __('Search WooCommerce Offers', 'offers-for-woocommerce'),
'not_found' => __('No WooCommerce Offers found', 'offers-for-woocommerce'),
'not_found_in_trash' => __('No WooCommerce Offers found in Trash', 'offers-for-woocommerce'),
'parent' => __('Parent WooCommerce Offer', 'offers-for-woocommerce')
),
'description' => 'Offers for WooCommerce - Custom Post Type',
'public' => true,
'publicly_queryable' => true,
'exclude_from_search' => true,
'hierarchical' => false,
'show_in_menu' => $show_in_menu,
'menu_position' => '',
'show_in_admin_bar' => false,
'supports' => array( 'section_id_offer_comments', 'section_id_offer_summary', 'section_id_offer_addnote' ),
'taxonomies' => array(''),
'menu_icon' => '',
'has_archive' => false,
'capability_type' => 'woocommerce_offer',
'map_meta_cap' => true
);
register_post_type( 'woocommerce_offer', $args );
$this->create_woocommerce_offer_capabilities();
}
public function create_woocommerce_offer_capabilities() {
global $wp_roles;
$woocommerce_offer_capabilities = get_option('woocommerce_offer_capabilities');
if (empty($woocommerce_offer_capabilities)) {
if (!class_exists('WP_Roles')) {
return;
}
if (!isset($wp_roles)) {
$wp_roles = new WP_Roles();
}
$capabilities = $this->get_core_capabilities();
foreach ($capabilities as $cap_group) {
foreach ($cap_group as $cap) {
$wp_roles->add_cap('shop_manager', $cap); // allows access to shop managers
$wp_roles->add_cap('administrator', $cap); // allows access to admins
$wp_roles->add_cap('yith_vendor', $cap); //allows access to vendors of yith multi vendor plugin
}
}
} else {
update_option('woocommerce_offer_capabilities', true);
}
}
public function get_core_capabilities() {
$capabilities = array();
$capability_types = array('woocommerce_offer');
foreach ($capability_types as $capability_type) {
$capabilities[$capability_type] = array(
// Post type
"edit_{$capability_type}",
"read_{$capability_type}",
"delete_{$capability_type}",
"edit_{$capability_type}s",
"edit_others_{$capability_type}s",
"publish_{$capability_type}s",
"read_private_{$capability_type}s",
"delete_{$capability_type}s",
"delete_private_{$capability_type}s",
"delete_published_{$capability_type}s",
"delete_others_{$capability_type}s",
"edit_private_{$capability_type}s",
"edit_published_{$capability_type}s",
);
}
return $capabilities;
}
请帮忙。提前感谢。请提供一些您尝试过但不起作用的代码示例。我提供了注册自定义帖子类型和功能的代码,并将这些功能分配给商店经理、管理员和供应商。