Parece que el código de WordPress ha cambiado desde que se publicó la última respuesta a esta pregunta. La función actual wp_debug_mode () relacionada con esas constantes incluye una prueba de si WP_DEBUG_LOG equivale a verdadero o 1, en cuyo caso se comporta como otros lo han descrito.
Sin embargo, también puede establecer esa constante en una cadena, su ruta de archivo preferida, y el registro se generará allí. Por ejemplo, puede establecerlo en una ruta fuera de sus directorios para contenido web de acceso público. Es posible que tenga que jugar con permisos de archivo para que eso funcione.
Vine buscando esta respuesta porque el complemento de seguridad de WordFence se queja de que mi registro de depuración es potencialmente accesible en / wp-content /
if ( in_array( strtolower( (string) WP_DEBUG_LOG ), array( 'true', '1' ), true ) ) {
$log_path = WP_CONTENT_DIR . '/debug.log';
} elseif ( is_string( WP_DEBUG_LOG ) ) {
$log_path = WP_DEBUG_LOG;
} else {
$log_path = false;
}