Por defecto, las opciones para mostrar la configuración de comisiones personalizadas, y otras configuraciones de afiliación de cupones, por cupón, producto, usuario o rol de usuario están disponibles para todos los usuarios administradores.
Si desea ocultar estos ajustes/características para los usuarios que no tengan un determinado rol o ID de usuario, puede hacerlo utilizando "remove_action" y "remove filter", como se muestra a continuación:
/**
* Desenganchar funciones WCUsage por comisión para no administradores.
*/
function unhook_wcusage_per_commission_functions() {
if ( current_user_can( 'administrador' ) ) {
return;
}
// Desenganchar del perfil de usuario
remove_action( 'show_user_profile', 'wcusage_profile_fields' );
remove_action( 'edit_user_profile', 'wcusage_profile_fields' );
remove_action( 'personal_options_update', 'wcusage_save_profile_fields' );
remove_action( 'edit_user_profile_update', 'wcusage_save_profile_fields' );
// Desenganchar de los datos de producto de WooCommerce
remove_filter( 'woocommerce_product_data_tabs', 'add_wcusage_product_data_tab', 99 );
remove_action( 'woocommerce_product_data_panels', 'add_wcusage_product_data_fields' );
// Desenganchar de los datos de cupones de WooCommerce
remove_filter( 'woocommerce_coupon_data_tabs', 'add_wcusage_coupon_data_tab', 99 );
remove_action( 'woocommerce_coupon_data_panels', 'add_wcusage_coupon_data_fields', 1 );
remove_action( 'woocommerce_coupon_options_save', 'wcusage_save_coupon_settings' );
}
add_action( 'init', 'unhook_wcusage_per_commission_functions', 100 );
En if ( current_user_can( 'administrador' ) ) al principio de la función significa que no se aplicarán los desenganches a ningún usuario con el rol "administrador", por lo que seguirán viendo las opciones. Puede personalizar esto según sea necesario.
El código puede no estar 100% completo o probado correctamente. Por favor, asegúrese de hacer sus propias pruebas y crear copias de seguridad del sitio web antes de usar el código personalizado.