2010-08-17 13 views

Respuesta

9

Supongo que sabes qué anzuelos de Wordpress quieres usar. Así que saltarse esa parte, es bastante fácil de conseguir el papel actual del usuario

$current_user = wp_get_current_user(); 
if (!($current_user instanceof WP_User)) 
    return; 
$roles = $current_user->roles; //$roles is an array 

Ahora, se puede iterar sobre esa matriz para ver si el usuario tiene un papel particular.

O bien, puede usar current_user_can para buscar capacidades específicas, si solo desea comprobar si un usuario tiene o no un permiso específico y si tiene o no el rol. Por ejemplo:

if (current_user_can('delete_posts')) { 
    //display the delete posts button. 
} 
+0

Gran! ¡Esto es justo lo que estoy buscando! :) ¡Gracias! Por cierto, ¿qué gancho debo usar para este código? –

+0

Engancharía save_post – villecoder

+0

Tenga en cuenta que el Codex WP actual dice: "No pase un nombre de rol a' current_user_can() ', ya que no se garantiza que funcione correctamente". – Robbert

0

Este código le ayudará a

<?php echo array_shift(wp_get_current_user()->roles); ?> 
+0

¿Puede usted ampliar la forma en que resolvería el problema? – Phani

Cuestiones relacionadas