Estoy desarrollando un sitio en un servidor al que el cliente también tiene acceso y lo que me gustaría hacer es mostrar WP_DEBUG
solo a los administradores. Referenciando el artículo de Yoast sobre una forma de evitar esto:
if ( isset($_GET['debug']) && $_GET['debug'] == 'true')
define('WP_DEBUG', true);
se mostrará WP_DEBUG
solo para las URL que se hayan ?debug=true
adjuntado a ellas, comohttp://domain.com/?debug=true
Estaba pensando que la barra de depuración podría contener parte de esta información de forma predeterminada (ya sea que WP_DEBUG
esté activada o no ), pero estaba loco porque no creo que ese sea el caso.
Entonces, lo que estaba pensando sería útil, sería una verificación para el usuario actual (que tiene la manage_options
capacidad y luego ejecuta enlaces a través de add_query_arg()
:
function zs_admin_debug() {
if (!current_user_can('manage_options')) {
add_query_arg('debug','true');
}
}
pero de lo que no estoy seguro es: ¿hay un gancho que pueda usar para efectuar todos los enlaces en un sitio con esto? De esta manera, los administradores siempre ven la depuración que pensé que sería extremadamente útil. Gracias por cualquier ayuda como siempre!
if ( isset( $_GET['bug'] ) )
Respuestas:
No creo que haya un enlace URL universal. Hay muchos ganchos y puede que me los haya perdido, pero no creo que haya uno. Puedes mirar a través de los ganchos en adambrown.info . Hay muchos enlaces URL, pero no uno universal.
Si puedo sugerir otra solución: registre los errores en un archivo.
Ese código proviene directamente del Codex para el archivo wp-config.php . Si haces eso, no tendrás que preocuparte por hacer malabares
$_GET
o resolver quién es y quién no es un administrador.Editar:
Olvidé una posible solución. Puedes hacer esto con Javascript. Una secuencia de comandos breve podría adjuntar su parámetro a todas las URL de la página, y puede cargar la secuencia de comandos con bastante facilidad solo para administradores.
Todavía sugeriría la solución 'log' ya que los errores para todos están registrados. Si su gente es como la mía y envía 'informes' de error como " oye, el sitio se rompe cuando haces ese formulario ", apreciarás el registro. :)
fuente
Aunque mi primer enfoque fue para el contenedor de basura y la respuesta s_ha_dums es una forma limpia, y probablemente la mejor, de hacerlo, permítanme ofrecer un escenario de trabajo más:
Lo siguiente establece una cookie que es válida durante las próximas 24 horas (86400 segundos) cuando un administrador inicia sesión en el sistema. En wp-config.php , la constante
WP_DEBUG
se define condicionalmente dependiendo de la presencia y el valor de dicha cookie.Advertencia:
WP_DEBUG
a partir de entonces se configurarátrue
para que todos inicien sesión desde el mismo navegador en la misma máquina el mismo día.en functions.php (o como complemento):
Ver: Códice> Referencia de acciones> wp_login
en wp-config.php :
fuente
init
es demasiado tarde para tener algún efecto. También probé esto y no funcionó.init
que son de interés.No responde su pregunta con precisión, pero por experiencia personal descubrí que es mejor habilitar el modo de depuración haciendo coincidir la dirección IP en lugar de la URL.
Eso requiere la modificación de enlaces y resuelve cómo identificar al administrador antes de que WP cargue la funcionalidad requerida del usuario.
fuente
echo $_SERVER['REMOTE_ADDR']
rendimientos::1
que se esperaban en localhost? Sinceramente, suena como un archivo de registro separado y de esta manera (ya que las direcciones IP de los hogares parecen cambiar todo el tiempo) podría ser una buena idea.::1
es solo la versión IPv6 de127.0.0.1
. La creación de IP dinámica es menos conveniente, pero de todos modos solo trato esto como una técnica de resolución de problemas temporal para material en vivo. No reemplaza la configuración de depuración local adecuada.Este también es un posible truco, pero debe poner esto en su
wp-config.php
puesto ya queWP_DEBUG
está definido allí:Agregue
?debugsecret=debugsecret
a la página URL que desea depurar.fuente
Si tiene IP estática, puede hacer eso:
Fuente: DEPURACIÓN DE WORDPRESS - CÓMO USAR WP_DEBUG EN EL SITIO DE PRODUCCIÓN
fuente