Ozh, escribe un artículo en el que nos muestra
los cambios más significativos de la nueva versión de Wordpress, la 2.6, en relación a los desarrolladores de plugins.
Puesto que han cambiado muchas de las opciones del núcleo de Wordpress, nos veremos obligados a realizar modificaciones de la mayoría de plugins.
1. El directorio wp-content
Vimos que
Wordpress daba la posibilidad de sacar la carpeta wp-content/ de la carpeta web y esto ha ocasionado una gran cantidad de cambios entre ellos el nacimiento de dos nuevas variables globales que se encargan de conocer la nueva ruta.
Actualmente usamos la variable global
ABSPATH para hacer referencia a la ruta de la raiz de nuestro Wordpress.
$plugin_path = ABSPATH . '/wp-content/plugins/' . plugin_basename(dirname(__FILE__));
$plugin_url = get_option('siteurl') . '/wp-content/plugins/' . plugin_basename(dirname(__FILE__));
Esta variable seguirá disponible, pero ya no tiene por que estar el directorio
wp-content/ colgando de la raíz de Wordpress. Por ese motivo tendremos que reemplazarlo para tener un código más permisivo:
// Pre-2.6 compatibility
if ( !defined('WP_CONTENT_URL') )
define( 'WP_CONTENT_URL', get_option('siteurl') . '/wp-content');
if ( !defined('WP_CONTENT_DIR') )
define( 'WP_CONTENT_DIR', ABSPATH . 'wp-content' );
// Cogemos la ruta
$plugin_path = WP_CONTENT_DIR.'/plugins/'.plugin_basename(dirname(__FILE__));
$plugin_url = WP_CONTENT_URL.'/plugins/'.plugin_basename(dirname(__FILE__));
Nacen
WP_CONTENT_DIR y
WP_CONTENT_URL, dos variables globales que tendremos que tener muy presentes.
2. Incluyendo el fichero wp-config.php
El fichero wp-config.php tambien permite ser sacado de nuestra carpeta web, lo que significa que tenemos el mismo problema anterior, no debemos creer que todos los usuarios lo tendrán instalado en la raiz de su Wordpress.
Antíguamente, al estar
wp-content/ en la raiz podíamos usar
../../../ para llegar al directorio raiz y usar wp-config.php en nuestros plugins.
require_once('../../../wp-config.php');
Esto en Wordpress 2.6, tambien ha cambiado:
$root = dirname(dirname(dirname(dirname(__FILE__))));
if (file_exists($root.'/wp-load.php')) {
// WP 2.6
require_once($root.'/wp-load.php');
} else {
// Antes de 2.6
require_once($root.'/wp-config.php');
}
Poco a poco van
cerrandose los tickets del Roadmap y va quajando más lo que tendremos los usuarios y desarrolladores de Wordpress 2.6, así que mientras tanto, tendremos que estar atentos a todos estos cambios.
Artículos relacionados

Compártelo
This entry was posted
on Wednesday, July 2nd, 2008 at 8:37 pm and is filed under WordPress.
You can follow any responses to this entry through the RSS 2.0 feed.
Both comments and pings are currently closed.