You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
cosmopet.ae/wp-content/plugins copy/woocommerce-multilingual/inc/class-wcml-capabilities.php

54 lines
1.4 KiB

<?php
class WCML_Capabilities {
public static function set_up_capabilities() {
$role = get_role( 'administrator' );
if ( $role ) {
$role->add_cap( 'wpml_manage_woocommerce_multilingual' );
$role->add_cap( 'wpml_operate_woocommerce_multilingual' );
}
$role = get_role( 'super_admin' );
if ( $role ) {
$role->add_cap( 'wpml_manage_woocommerce_multilingual' );
$role->add_cap( 'wpml_operate_woocommerce_multilingual' );
}
if ( is_multisite() ) {
$super_admins = get_super_admins();
foreach ( $super_admins as $admin ) {
$user = new WP_User( $admin );
$user->add_cap( 'wpml_manage_woocommerce_multilingual' );
$user->add_cap( 'wpml_operate_woocommerce_multilingual' );
}
}
$role = get_role( 'shop_manager' );
if ( $role ) {
$role->add_cap( 'wpml_operate_woocommerce_multilingual' );
}
self::reload_capabilities();
}
public static function reload_capabilities() {
$user = wp_get_current_user();
$user->get_role_caps();
}
public static function canManageWcml() {
$allowedRoles = [ 'shop_manager', 'administrator', 'super_admin' ];
return (bool) array_intersect( $allowedRoles, wp_get_current_user()->roles );
}
/**
* @return bool
*/
public static function canAccessAllWcmlTabs() {
return current_user_can( 'wpml_manage_woocommerce_multilingual' )
|| current_user_can( 'wpml_operate_woocommerce_multilingual' );
}
}