向 WooCommerce 客户用户角色显示 WordPress 后端
Showing WordPress backend to WooCommerce customer user role
也许有人知道如何link注册WooCommerce和注册wordpress?
例如,用户应该能够发布帖子等。问题是标准管理面板在用户登录时隐藏。
您可以在“设置”>“常规”>“新用户默认角色”下更改新用户的默认角色,或者,您可以使用此代码段以编程方式设置它(这将覆盖 WP 设置中设置的选项):
add_filter('pre_option_default_role', function($default_role){
return 'subscriber'; //Change this to fit your needs
});
这仅适用于 WooCommerce Customer
用户角色:
这里你有必要的挂钩函数来做你正在看的事情。这将允许客户用户角色访问 wordpress 后端和 publish/edit 帖子 (对于最后一个功能,您应该作为 customer
用户注意角色将有能力add/edit/publish发帖,所以之前备份你的数据库).
代码如下:
add_filter('woocommerce_disable_admin_bar', '_wc_disable_admin_bar', 10, 1);
add_filter('woocommerce_prevent_admin_access', '_wc_prevent_admin_access', 10, 1);
function _wc_prevent_admin_access($prevent_admin_access) {
$user_data = get_userdata( get_current_user_id() );
$user_roles = $user_data->roles;
$customer_role = get_role( 'customer' );
// For "customer" WooCommerce user role only
if (in_array('customer', $user_roles)) {
// Warning! with this (This will be definitive, so make a database backup)
// Adding 'add_post', 'publish_posts' and 'edit_post' capabilities to customer user role
if ( !user_can( get_current_user_id(), 'publish_posts' ) ){
$customer_role->add_cap( 'create_posts' );
$customer_role->add_cap( 'publish_posts' );
$customer_role->add_cap( 'edit_posts' );
}
// Giving access to wordpress backend
return false;
}
}
代码在您的活动子主题(或主题)的 function.php 文件或任何插件文件中。
此代码已经过测试并且有效
也许有人知道如何link注册WooCommerce和注册wordpress?
例如,用户应该能够发布帖子等。问题是标准管理面板在用户登录时隐藏。
您可以在“设置”>“常规”>“新用户默认角色”下更改新用户的默认角色,或者,您可以使用此代码段以编程方式设置它(这将覆盖 WP 设置中设置的选项):
add_filter('pre_option_default_role', function($default_role){
return 'subscriber'; //Change this to fit your needs
});
这仅适用于 WooCommerce Customer
用户角色:
这里你有必要的挂钩函数来做你正在看的事情。这将允许客户用户角色访问 wordpress 后端和 publish/edit 帖子 (对于最后一个功能,您应该作为 customer
用户注意角色将有能力add/edit/publish发帖,所以之前备份你的数据库).
代码如下:
add_filter('woocommerce_disable_admin_bar', '_wc_disable_admin_bar', 10, 1);
add_filter('woocommerce_prevent_admin_access', '_wc_prevent_admin_access', 10, 1);
function _wc_prevent_admin_access($prevent_admin_access) {
$user_data = get_userdata( get_current_user_id() );
$user_roles = $user_data->roles;
$customer_role = get_role( 'customer' );
// For "customer" WooCommerce user role only
if (in_array('customer', $user_roles)) {
// Warning! with this (This will be definitive, so make a database backup)
// Adding 'add_post', 'publish_posts' and 'edit_post' capabilities to customer user role
if ( !user_can( get_current_user_id(), 'publish_posts' ) ){
$customer_role->add_cap( 'create_posts' );
$customer_role->add_cap( 'publish_posts' );
$customer_role->add_cap( 'edit_posts' );
}
// Giving access to wordpress backend
return false;
}
}
代码在您的活动子主题(或主题)的 function.php 文件或任何插件文件中。
此代码已经过测试并且有效