Seleccionar página

Constantes de WordPress – WP_DEBUG – WP_LANG

por | Oct 12, 2016 | Wordpress

Índice de contenidos

¿Qué es una constante? Constantes en PHP

En diferentes lenguajes de programación se encuentra definido el uso de constantes, en este artículo vamos a explicar las constantes de WordPress (definidas en lenguaje PHP).

Las constantes en PHP son un identificador (nombre) que almacena un valor simple* (boolean, int, float, o string) que no puede ser modificado durante la ejecución de un script. Por convención estos nombres se definen en mayúsculas (WP_DEBUG) y son sensibles a mayúsculas y minúsculas (no es lo mismo HOLA que hola), la condición de case sensitive puede variar en la definición de la constante.

*en PHP7 se acepta el tipo array

Las constantes se definen de la siguiente forma:

  • name: nombre de la constante
  • value: valor, (boolean, int, float, o string hasta PHP5 y array en PHP7)
  • case_insensitive: True=insensible, false=sensible
bool define ( string $name , mixed $value [, bool $case_insensitive = false ] )

Por ejemplo la constante WP_DEBUG que encontrarás en el archivo wp-config.php

define('WP_DEBUG', false);

Constantes de WordPress

La lista de constantes de WordPress es bastante amplia, conocer el significado y función de alguna de ellas te evitará dolores de cabeza y perdida de tiempo durante la fase de desarrollo y uso de tu página web.

Una constante muy conocida es WP_DEBUG (la encuentras en el archivo wp-config.php) por defecto su valor es false pero en ocasiones modificamos ese valor a true para visualizar y  depurar errores de programación.

Una vez que la constante está definida, no se puede cambiar mediante un script, volver a definir o modificar. En este artículo te explico como realizar las modificaciones de valor de las constantes de WordPress..

Constantes de WordPress

Modificaciones de constantes en wp-config.php MUY ÚTILES durante el desarrollo y uso de tu WordPress

WP_MEMORY_LIMIT

Definida en el archivo: /wp-includes/default-constants.php

define('WP_MEMORY_LIMIT', '32M');

Por defecto su valor es 32M o 40M y para wp multisitio 65M, lo normal es que no necesites modificarlo, no es recomendable aumentar este valor, pero en algunos casos es la única solución posible.

Si quieres ampliar el límite de memoria copia y pega el siguiente código en el archivo wp-config.php:

define('WP_MEMORY_LIMIT', '64M');

WP_DEBUG

Definida en el archivo: /wp-config.php

define('WP_DEBUG', false);

Por defecto su valor es false si existen errores de programación php no los muestra, cuando nos encontramos errores de programación para depurarlos cambiamos el valor a true. 

Si después de cambiar el valor a true sigues sin ver en pantalla los avisos de error, añade debajo de la constante WP_DEBUG (true) lo siguiente:

define('WP_DEBUG_DISPLAY', true);

AUTOSAVE_INTERVAL

Definida en el archivo: /wp-includes/default-constants.php

define( 'AUTOSAVE_INTERVAL', 60 );

AUTOSAVE_INTERVAL indica a WordPress cada cuanto tiempo tiene que autoguardar las entradas que estamos editando. Puedes aumentar este intervalo si te resulta más cómodo pero no es buena práctica eliminar esta constante.

Aumentando el intervalo a 3 minutos desde el archivo wp-config.php:

define( 'AUTOSAVE_INTERVAL', 180 );

WP_POST_REVISIONS

Definida en el archivo: /wp-includes/default-constants.php

define('WP_POST_REVISIONS', true);

Cada vez que reeditamos el mismo post, WordPress guarda en base de datos una copia del mismo llamada Revisión. Puedes ver la lista de revisiones de tus post en la ventana de edición del mismo. No es igual que AUTOSAVE, si necesitas profundizar más accede a esta página de wordpress.

Estás revisiones almacenadas nos permiten recuperar una edición antigua de una determinada entrada y revertir su contenido a una fecha pasada pero tiene el inconveniente que almacena demasiadas revisiones por post y por tanto muchos datos en base de datos que casi nunca usamos. Si opinas lo mismo, tienes dos variaciones posibles:

anular las revisiones: 

define('WP_POST_REVISIONS', false);

o lo más recomendable, limitar el número de revisiones. Si quieres limitar las revisiones a 3, abre el archivo wp-config.php y copia el siguiente código:

define('WP_POST_REVISIONS', 3);

TEMPLATEPATH y STYLESHEETPATH

Definidas en el archivo: /wp-includes/default-constants.php

define('TEMPLATEPATH', get_template_directory());

define('STYLESHEETPATH', get_stylesheet_directory());

Esta constante devuelve la ruta de directorios de servidor donde está alojado tu tema (/home/user/public_html/wp-content/themes/my_theme), no la URL.

*TEMPLATEPATH se refiere al directorio del tema padre, en caso de tener activado un tema hijo debes usar STYLESHEETPATH.

ESTÁS CONSTANTES NO SE PUEDEN MODIFICAR, pero puedes necesitar hacer uso de ellas en algunas ocasiones, por ejemplo comprobar si un archivo existe dentro del tema.

// Si el archivo category-noticias existe
if (file_exists(TEMPLATEPATH . '/category-noticias.php')) 
// entonces hacer algo

DISALLOW_FILE_EDIT

Definida en el archivo:

define('DISALLOW_FILE_EDIT', false);

Permite que se puedan editar archivos de temas y plugins desde el editor habilitado en el panel de administración de WordPress, si no quieres permitir este acceso a archivos cambiar el valor de la constante a true.

NOTA: en algunas ocasiones el valor true puede ocasionar errores de funcionamiento en algún plugin.

EMPTY_TRASH_DAYS

define( 'EMPTY_TRASH_DAYS', 30 ); 

Número de días que permanecen los post, comentarios… en la papelera antes de borrarlos de manera definitiva, puedes modificar el número de días: 

define( 'EMPTY_TRASH_DAYS', 7);
//vaciar a los 7 días

si quieres que se borre un post, comentario… cuando pulsamos sobre borrar y que no pase por la papelera, entonces debes cambiar el valor a 0

define( 'EMPTY_TRASH_DAYS', 0);

MEDIA_TRASH

Definida en el archivo: /wp-includes/default-constants.php

if ( !defined('MEDIA_TRASH') )
    define('MEDIA_TRASH', false);

OJO si borras archivos multimedia no podrás recuperarlos ya que por defecto la variable está definida a false, es decir que no guarda los archivos en la papelera, a mi me ha pasado en alguna ocasión y solucionarlo es tan fácil como cambiar el valor de la variable a true.

Abre el archivo wp-config.php y copia el siguiente código:

 define('MEDIA_TRASH', true);

WP_CACHE

Definida en el archivo: wp-content/advanced-cache.php

define( 'WP_CACHE', true );

si necesitas desactivar la caché en algún momento puntual, copia y pega lo siguiente en wp-config:

define( 'WP_CACHE', false);

IMPORTANTE!! CORE_UPGRADE_SKIP_NEW_BUNDLED – proteger la carpeta wp-content en las actualizaciones automáticas

Añade esta línea e código al archivo wp-config.php para que en las actualizaciones automáticas de WordPress la carpeta wp_content NO SE ACTUALIZARÁ y no perderás los cambios que hayas realizado en los temas o plugins que tengas instalados.

define( 'CORE_UPGRADE_SKIP_NEW_BUNDLED', true );

¿Dónde y cómo modificar las constantes?

Las constantes como norma general deben ser modificadas en el archivo wp-config.php con independencia de donde se encuentren definidas.

En los ejemplos anteriores hemos comentado varias constantes ubicadas en el archivo /wp-includes/default-constants.php, si necesitas modificar el valor de alguna debes abrir el archivo wp-config.php y copiar la definición de constante modificando su valor. Si te fijas en el archivo default.constants.php observarás que antes de definir una constante comprueban si ya está definida con antelación:

if ( !defined('WP_DEBUG') )
   define( 'WP_DEBUG', false );

Este código indica que sólo se debe definir la constante WP_DEBUG en caso de que no esté definida con antelación. El archivo wp-config.php se carga el primero así que si en wp-config.php escribimos:

define( 'WP_DEBUG', true );

en el archivo default-constants.php YA NO SERÁ DEFINIDA.

Si quieres conocer más constantes interesantes te recomiendo el post de la página de WordPress que te explica como  «Editar el archivo wp-confing.php» para modificar el valor de las constantes. 

Lista completa de constantes de WordPress

Dominik Schilling desarrollo un artículo en wpengineer.com con la lista completa de constantes de WordPress, está en inglés pero es un post muy útil y de enorme valor para todos los que trabajamos con WordPress.

0 comentarios

Enviar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *