¿Existe una función para saber si el usuario es ‘shop_manager’ en WP/woocommerce?

1 minuto de lectura

Quiero saber si shop_manager está conectado a WP/woocommerce. Conozco la función is_admin(), pero ¿conoces una forma de usar algo como esto ‘is_shop_manager()’?

Gracias

En realidad ¡Sí, lo hay!

current_user_can( 'manage_woocommerce' );

Documentos:

current_user_can($capacidad)

‘administrar_woocommerce’

No, no hay ninguna función incorporada directa ya que el rol de shop_manager proviene de WooCommerce y no de WordPress, pero se puede lograr con el siguiente código:

function is_shop_manager() {
    $user = wp_get_current_user();
    if ( isset( $user['roles'][0] ) && $user['roles'][0] == 'shop_manager' ) {
        return true;    // when user is shop manager
    } else {
        return false;   // when user is not shop manager
    }
}

if ( is_shop_manager() ) {
    // write code for shop_manager here
}

Espero que esto sea útil.

  • De hecho, funciona, pero creo que la respuesta de @Anfelipe es más ordenada.

    – Elron

    4 mayo 2020 a las 18:01


Código fijo:

function is_shop_manager() {
    $user = wp_get_current_user();

    if ( isset( $user->roles[0] ) && $user->roles[0] == 'shop_manager' ) {
        return true;    // when user is shop manager
    } else {
        return false;   // when user is not shop manager
    }
}

¿Ha sido útil esta solución?