Spanish (Español) translation by Eva Collados Pascual (you can also view the original English article)
El archivo wp-config.php: es una de las características más amadas de WordPress para algunos, y para otros una de sus peores pesadillas.
Existen miles de artículos con innumerables consejos y trucos, y nunca acabarías de descubrir nuevos; sin embargo, en este artículo intentamos aportar un punto de vista distinto. Vamos a familiarizarnos con ocho nuevos trucos para wp-config.php cuya finalidad es menos conocida como por ejemplo desactivar las revisiones, aumentar el límite de memoria, y otras características similares.
wp-config.php) así que basta con que descargues una copia de tu archivo wp-config.php, pero puedes hacer una copia de seguridad de tu base de datos y de tus archivos para estar más seguro. Mejor curarse en salud - ¡hacer copias de seguridad con frecuencia siempre es buena idea!1. Establecer un tema predeterminado para nuevas instalaciones de WordPress con WP_DEFAULT_THEME
Imagina que eres un diseñador web freelance (o una agencia de diseño web) que usa habitualmente un mismo tema WordPress como base para casi todos sus clientes. ¿No sería fantástico si no tuvieses que cambiar el tema “Twenty-Something” por tu “Fantástico Tema Base” cada vez que crees una nueva instalación de WordPress?
Bien, la constante WP_DEFAULT_THEME te ayudará en esta labor:
1 |
define( 'WP_DEFAULT_THEME', 'default-theme-folder-name' ); |
Podrías estar preguntándote: ”¿cómo se supone que voy a establecer un tema predeterminado editando el archivo wp-config.php si este archivo se crea durante la instalación de WordPress? Excelente pregunta, pero esta vez no vamos a cambiar el archivo wp-config.php: en lugar de eso, ¡vamos a insertar el anterior código en el archivo wp-config-sample.php!
No me estoy refiriendo a editar y renombrar el archivo como hacíamos en 2006, estoy hablando de editarlo y dejarlo con el mismo nombre: WordPress puede detectar los cambios y aquello que añadimos dentro del archivo wp-config-sample.php (excepto las credenciales de la base de datos) y usarlos mientras instalamos nuestra nueva copia de WordPress.
Sencillo, ¿no? No he encontrado ninguna página web que mencione esta joyita oculta (yo mismo descubrí esta técnica accidentalmente), así que es posible que este sea el primer tutorial que la cubre.
2. Deshabilitar las actualizaciones automáticas de WordPress con AUTOMATIC_UPDATER_DISABLED
Es posible que tengas tus propios motivos para deshabilitar la actualización automática de WordPress: Quizá seas un desarrollador que necesita trabajar con distintas versiones de WordPress al mismo tiempo, o quizá tu sitio web está en un servidor muy inestable que te exige ser extremadamente cauteloso.
Sea cual sea el caso, estamos aquí para ofrecerte una solución que desactive las actualizaciones automáticas en WordPress:
1 |
define( 'AUTOMATIC_UPDATER_DISABLED', true ); |
3. Activar “Borrar permanentemente” para los archivos de medios con MEDIA_TRASH
¿Alguna vez has lanzado un agudo grito para quedarte después boquiabierto durante siete minutos tras eliminar un archivo de tu biblioteca de medios que no debías? Conozco esa sensación, a mí me pasó, pero fue antes de conocer esta constante de WordPress:
1 |
define( 'MEDIA_TRASH', true ); |
Si estableces un valor igual a cero para esta constante, nunca tendrás que preocuparte de eliminar un archivo media por error – a menos que deshabilites por completo la funcionalidad de la “papelera” indicando en la constante EMPTY_TRASH_DAYS un valor de “0”.
Ten cuidado con esto también.
4. Permitir que WordPress omita el directorio wp-content durante su actualización con CORE_UPGRADE_SKIP_NEW_BUNDLED
Yo no uso los temas predeterminados. Nunca. No estoy en contra de ellos ni me disgustan, pero prefiero crear y usar mis propios temas. Por tanto, no necesito ningún tema de los que vienen por defecto en las instalaciones de actualizaciones importantes.
Como no soy el único que usa siempre temas propios y WordPress es tan flexible, este nos permite saltar el directorio wp-content:
1 |
define( 'CORE_UPGRADE_SKIP_NEW_BUNDLED', true ); |
Esto también mejorará la velocidad del proceso de actualización. No tardará más de un segundo.
Crédito: WP Engineer
5. Permitir la carga de archivos sin filtro para administradores con ALLOW_UNFILTERED_UPLOADS
WordPress tiene restricciones para la carga de determinados tipos de archivos en la Biblioteca de Medios. No puedes cargar nada que no sean imágenes, documentos, archivos de audio o de vídeo – y esto es bueno para la seguridad. Pero qué sucedería si tú eres un desarrollador de software independiente que quiere cargar un nuevo software que has creado - ¿vas a tener que usar un cliente FTP cada vez que quieras actualizar tu software?
No, solo tiene que definir ALLOW_UNFILTERED_UPLOADS en ALLOW_UNFILTERED_UPLOADS de la siguiente manera:
1 |
define( 'ALLOW_UNFILTERED_UPLOADS', true ); |
Este código no permitirá que cualquier usuario suba cualquier tipo de archivo. Sólo los administradores podrán cargar cualquier tipo de archivo que deseen.
6. Configurar WPLANG dinámicamente en los sitios web multi-idioma
Si tienes un sitio web en varios idiomas y necesitas cambiar el idioma de tu tema y de tu panel de administración, podrías usar un pequeño truco para detectar el idioma del navegador del usuario y definir la constante WPLANG basándote en esta constante.
Primero, debes crear un archivo wp-lang.php y añadir el siguiente código, después guárdalo en el mismo directorio en el que está wp-config.php:
1 |
<?php
|
2 |
// start the session
|
3 |
session_start(); |
4 |
|
5 |
// if there's a "lang" parameter in the URL...
|
6 |
if( isset( $_GET[ 'lang' ] ) ) { |
7 |
|
8 |
// ...set a session variable named WPLANG based on the URL parameter...
|
9 |
$_SESSION[ 'WPLANG' ] = $_GET[ 'lang' ]; |
10 |
|
11 |
// ...and define the WPLANG constant with the WPLANG session variable
|
12 |
define( 'WPLANG', $_SESSION[ 'WPLANG' ] ); |
13 |
|
14 |
// if there isn't a "lang" parameter in the URL...
|
15 |
} else { |
16 |
|
17 |
// if the WPLANG session variable is already set...
|
18 |
if( isset( $_SESSION[ 'WPLANG' ] ) ) { |
19 |
|
20 |
// ...define the WPLANG constant with the WPLANG session variable
|
21 |
define( 'WPLANG', $_SESSION[ 'WPLANG' ] ); |
22 |
|
23 |
// if the WPLANG session variable isn't set...
|
24 |
} else { |
25 |
|
26 |
// set the WPLANG constant to your default language code is (or empty, if you don't need it)
|
27 |
define( 'WPLANG', 'tr_TR' ); |
28 |
|
29 |
}
|
30 |
}
|
31 |
?>
|
Después, en el archivo wp-config.php, sustituye la línea en donde se define WPLANG por la siguiente línea:
1 |
require_once( dirname( __FILE__ ) . '/wp-lang.php' ); |
¡Y voilà! Tus visitantes podrán ahora cambiar el lenguaje de tu tema y del panel de administración con un simple clic sobre botones con un parámetro lang=fr_FR.
Crédito: Un debate en Stack Overflow (yo he modificado el código.)
7. Definir tu clave API de WordPress.com como una constante con WPCOM_API_KEY
Si estás usando un plugin que requiere una clave API de WordPress.com (como Jetpack o Akismet) y tienes muchos sitios web que mantener, podría ser muy molesto tener que introducir la clave API de WordPress.com cada vez que instales ese plugin.
Aunque, hay un método sencillo. Puedes definir tu clave API en el archivo wp-config.php a modo de constante:
1 |
define( 'WPCOM_API_KEY', 'YourKeyHere' ); |
8. Redefinir las etiquetas HTML permitidas desde cero con CUSTOM_TAGS
Existe una función en WordPress, wp_kses() que, según el Codex de WordPress:
“…se asegura de que sólo los nombres de elementos HTML permitidos, de nombres de atributo y de valores de atributo además de entidades válidas HTML aparezcan en $string”.
Puedes editar estas reglas de la siguiente forma:
1 |
<?php
|
2 |
|
3 |
function my_filter( $string ) { |
4 |
|
5 |
global $allowedtags; |
6 |
$allowedtags['img'] = array( 'src' => array () ); |
7 |
|
8 |
return $string; |
9 |
}
|
10 |
add_filter( 'pre_kses', 'my_filter' ); |
11 |
?>
|
Pero si necesitas un control total, tendrás que reescribir las variables $allowedposttags, $allowedtags y $allowedentitynames , algo que puedes hacer definiendo la constante CUSTOM_TAGS como true en wp-config.php:
1 |
define( 'CUSTOM_TAGS', true ); |
2 |
$allowedposttags = array(); |
3 |
$allowedtags = array(); |
4 |
$allowedentitynames = array(); |
Tienes que reescribir cada una de las siguientes variables. Simplemente copia y pega en wp-includes/kses.php, después edita el código que hayas pegado.
Crédito: OttoPress.com
Conclusión
Hace dos años, escribí el artículo Conquistar el archivo wp-config.php – 11 Buenas prácticas y fue uno de los artículos más leídos sobre WordPress en aquel momento. Y dos años más tarde, comparto otro artículo sobre wp-config, pero esta vez, he preferido explicar trucos que es posible que no encuentres en otros sitios.
Espero que te guste.
¿Y tú?, ¿conoces algún buen truco para wp-config? ¡Envíanos un comentario y comparte tu experiencia! Y, si te ha gustado este artículo, ¡no olvides compartirlo!



