Llamada a función no definida get_current_screen() en mi localhost

27 may 2014, 05:33:35
Vistas: 14.5K
Votos: 5

Estoy usando WordPress 3.9.1 y obtengo el

Fatal error: Call to undefined function get_current_screen()

si coloco lo siguiente en mi functions.php o en cualquier archivo de mi tema:

$screen = get_current_screen();
echo $screen;

Inicialmente cuando obtuve el error, estaba trabajando en un tema que estoy creando. Sin embargo, probé esto con otros temas incluyendo TwentyFourteen, y seguí obteniendo el mismo error. Incluso borré mi base de datos de WordPress, creé una nueva y reinstalé WordPress, pero aún así no ayudó.

Verifiqué la función get_current_screen() yendo a wp-admin/includes/screen.php y está ahí.

Estoy trabajando en Xampp y no tengo ningún plugin activado ya que es una instalación fresca. Además en mi wp-config.php no he cambiado nada excepto los 'Ajustes de MySQL' (base de datos, usuario y contraseña) y el 'modo DEBUG'.

¿Alguna sugerencia sobre cómo solucionar esto?

1
Comentarios

Por favor, [edita] más de tu código en la pregunta para que pueda ver lo que estás intentando lograr.

s_ha_dum s_ha_dum
27 may 2014 16:21:06
Todas las respuestas a la pregunta 3
1
10

puedes probar lo siguiente

if ( !function_exists( 'get_current_screen' ) ) { 
   require_once ABSPATH . '/wp-admin/includes/screen.php'; 
} 
$screen = get_current_screen();
echo $screen;
2 nov 2020 12:59:45
Comentarios

Eso incluiría la función, sí, pero como dice la otra respuesta, no devolverá ningún resultado significativo (porque está diseñada para usarse en el sitio de administración, y si estuviéramos en el sitio de administración, ya estaría incluida).

Rup Rup
2 nov 2020 15:42:07
2

get_current_screen() es una función del backend que devuelve datos sobre la página actual de administración del backend. No tiene sentido usar esto en el código del tema. La única forma en que funcionaría (creo pero no lo he probado) en functions.php sería si estuviera enganchado a un hook del backend posterior a admin_init.

No explicas lo que estás intentando hacer con get_current_screen() pero creo que simplemente la estás usando incorrectamente.

27 may 2014 06:14:07
Comentarios

Tienes razón, sin embargo no sé qué hook usar. Según el Codex, admin_init no funcionará. Además, estoy intentando usar esto para verificar si se está viendo la página de nuevo/edición de un custom post type, para poder establecer valores predeterminados diferentes para los meta boxes personalizados que he creado. Estoy usando el mismo código para crear meta boxes para múltiples post types, usando un plugin.

user1981248 user1981248
27 may 2014 06:59:45

necesitas envolverlo en una verificación is_admin() o ejecutarlo en admin_init u otro hook exclusivo de administración

Tom J Nowell Tom J Nowell
14 nov 2023 15:28:49
0

tal vez tu código se ejecute antes de admin_init. Agréguelo a la acción:

add_action('admin_init', function(){
  $screen = get_current_screen();
  echo $screen;
});
14 nov 2023 14:29:45