Cómo comprobar si actualmente en Wordpress Admin?


Estoy creando mi primer plugin y tengo una sola función que controla la salida. Esta función tiene una salida diferente en función de si se está viendo o no desde el administrador de WordPress vs.el frontend. ¿Hay alguna manera de probar fácilmente si mi función se está activando desde el administrador frente al frontend?

He intentado comprobar condicionalmente la cadena de consulta contra el nombre de mi plugin "página" nombre, pero parece fallar en algunos servidores / instalaciones.

Gracias

Author: Matt, 2010-11-09

4 answers

Duh, esto era demasiado obvio. Por alguna razón estaba pensando que esto tenía que ver con un usuario administrador. if(is_admin()) { ...output my admin stuff....}

Http://codex.wordpress.org/Function_Reference/is_admin

 54
Author: Matt,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-11-08 21:57:41

Si quieres saber si el usuario actual ES ADMIN , entonces deberías usar esto:

   $is_admin = current_user_can( 'manage_options' );

Me equivoqué con la respuesta anterior, así que una pequeña nota para evitar que otros cometan el mismo error.

 19
Author: psycho brm,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-01-07 16:46:30

Tenga en cuenta que is_admin() solo funciona en el backend. Para cualquier parte del plugin que se muestra en el sitio web público, debe usar current_user_can().

if ( current_user_can( 'administrator' ) ) {
  // your code goes here
}
 12
Author: Charles Jaimet,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-07-22 09:44:13
<?php 
global $current_user;
get_currentuserinfo();
$user_id = $current_user->ID

//usually admin user id is 1 if its not working check admin user id from wp_users table
if($user_id == 1) {
   //write your stuff
}
?>
 -3
Author: Gaurab paul,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-01-08 12:51:19