Artículos de la categoría WordPress

Jerarquía de WordPress

Jerarquía de WordPress

WordPress utiliza una jerarquía a la hora de cargar los archivos de un theme, de modo que se puede cargar un archivo por defecto, uno diferente para categorías o inluso uno distinto para cierta categoría, pero esto no acaba aquí, ya que también se puede aplicar a tags, páginas, artículos, fechas y demás.

Por ello es necesario conocer la jerarquía que utiliza WordPress, que están recopiladas en un PDF creado por Angie Bowen, que he encontrado vía AyudaWordPress y que podéis ver a la izquierda.

No hay comentarios

WP Carousel 0.4.0.10

Este fin de semana he estado trabajando en una actualización de WP Carousel. Esta nueva versión arregla un bug que impedía el correcto funcionamiento del carrusel en Internet Explorer 7 y anteriores (que al final ha resultado ser un error de CSS), además de corregir un fallo en las redirecciones del Panel de Administración.

También añade la posibilidad de limitar el número de artículos que se mostrará en cada categoría, de modo que es posible mostrar 5 artículos de una categoría y 3 de otra. Es recomendable limitar a un número de artículos menor de los que hay en la categoría, ya que si no se pueden producir comportamientos anómalos (añadir artículos de otras categorías para llegar al límite, por ejemplo).

Por último, también permite seleccionar el orden de los artículos: se pueden ordenar de más recientes a más antiguos o al revés.

No es mucha novedad y por eso esta nueva versión sigue siendo de la rama 0.4.0.x.

Podéis actualizar a esta versión desde el Panel de Administración de WordPress o descargando el plugin desde aquí.

2 Comentarios

Conocer la versión que se usa del CMS de un sitio web es algo muy útil para los hackers, ya que sabiendo este dato pueden revisar los cambios que hay entre dicha versión y las siguientes, con lo que pueden saber las vulnerabilidades que presenta la página en pocos minutos.

Por defecto WordPress muestra este número en varios sitios, y en AyudaWordPress han publicado un pequeño código que lo oculta de cualquier lugar donde aparezca. El código es bastante simple, y aplica un filtro a la función que muestra el número de la versión, no devolviendo nada en lugar de devolver el contenido filtrado.

Añadiendo este código al archivo functions.php de nuestro theme, ocultaremos el número de la versión y haremos nuestro blog más seguro. Desde luego, la solución es increíblemente senzilla e inteligente :) .

//Elimina referencias a la version de WordPress
function quitar_version_wp() {
return '';
}
add_filter('the_generator', 'quitar_version_wp');
No hay comentarios

WordPress 3.0 integrará un gestor de menús

Gestor de menús de WordPress 3.0

Gestor de menús de WordPress 3.0

¿Os acordáis de aquel artículo que escribí en el que recopilaba las novedades que me gustaría que añadiesen en WordPress 3.0? Pues bien, parece que una de ellas sí que estará en la nueva versión de WordPress, que incluirá un nuevo gestor de menús. Estará basado en el sistema de menús que ofrecen los themes de pago de WooThemes, y por lo que parece de momento, funcionará de forma similar a las actuales sidebars: arrastrando un elemento hasta un contenedor y estableciendo a continuación su configuración.

Esto me hace pensar que puede se añada una nueva API para interactuar con el menú y añadir desde plugins nuevos tipos de elementos al menú (como se puede hacer ahora con los widgets: un plugin puede añadir un nuevo tipo de widget a los disponibles en las sidebars).

En otro orden de cosas, el anuncio oficial también comenta brevemente el calendario de WordPress y la integración con WordPress MU. Respecto a las fechas, se ha establecido la fecha límite para añadir nuevas funciones al lunes 1 de marzo (sí, pasado mañana). A partir de ese día se centrarán en acabar las funciones que están a medias y en parchear cualquier error que pueda haber. La fecha de liberación de WordPress 3.0 quedaría a principios de mayo, aunque veremos unas cuantas Betas y Versiones Candidatas antes.

Finalmente, poco se comenta sobre la integración de WordPress MU, tan sólo advierten que los usuarios de WordPress no notarán ninguna diferencia al actualizar a WordPress 3.0, mientras que los de WordPress MU verán que algunas etiquetas tendrán nombres diferentes.

Me alegra que añadan el gestor de menús, aunque me da lástima que eso signifique el final de WP Main Menu, que seguiré actualizando hasta que se libere WordPress 3.0.

Un comentario

Haz que WordPress cargue los frameworks desde servidores externos

WordPress utiliza varios frameworks Javascript para hacer diversos efectos y mejorar a interfaz, además de que algunos themes se aprovechan de esto para añadir mejoras al diseño utilizando funciones que ofrecen estos frameworks. Recurrir a estos métodos ocasiona un aumento del tiempo de carga de la página y del ancho de banda consumido por el servidor al enviar los archivos solicitados al usuario, sin embargo, podemos hacer que WordPress cargue estos archivos desde servidores externos que nos reducen el ancho de banda gastado y que, en algunos casos, son más rápidos que nuestro servidor. Además, usar este método también nos permite cargar automáticamente la versión más actualizada de los diversos frameworks, evitando tener que volver a subir las nuevas versiones a nuestro servidor.

En este artículo me centraré en jQuery, jQuery UI y Prototype, los frameworks que utiliza actualmente Sumolari.com, pero antes de hacer que WordPress cargue los archivos desde servidores externos (usaremos los de Google), veremos primero el método general.

wp_deregister_script, wp_register_script y wp_enqueue_script

WordPress tiene varias funciones para gestionar el código Javascript que se carga en cada página. Esta funciones permiten, a grandes rasgos, añadir un script con un nombre identificatorio (del cual se definen la URL del archivo, las dependencias, la versión o incluso si se puede cargar en el pie de página o no), eliminarlo o cargarlo.

Para el primero de todos los usos, recurriremos a la función wp_register_script. Esta función tiene 5 parámetros: $handle, $src, $deps, $ver e $in_footer.

wp_register_script( $handle, $src, $deps, $ver, $in_footer );

La primera de todas debe contener el nombre identificatorio del script. Yo recomiendo usar nombres coherentes, así evitamos posibles problemas al usar muchos scripts y no distinguir unos de otros por su nombre.

El segundo parámetro de la función indica la URL del archivo a cargar. Tanto el primer parámetro como éste son obligatorios, los otros tres son opcionales y son, por orden de aparición, la matriz que indica las dependencias (estas dependencias se deben indicar usando el nombre identificatorio del script correspondiente), la versión del archivo a cargar (se utiliza para evitar problemas con la caché y demás, pero en muchos casos basta con dejarlo en blanco) y si el script se puede cargar al final de la página o no.

La función wp_deregister_script es la que elimina un script previamente registrado. Esto nos permitirá eliminar los script registrados por WordPress y añadir los nuestros modificados. El uso sería el siguiente:

wp_deregister_script( $handle );

La función wp_enqueue_script es la que le indica a WordPress que debe cargar cierto script. Admite los mismos parámetros que wp_register_script, sólo que en la primera, a diferencia de la segunda, el nombre identificatorio le indica a la función qué script debe cargar (ya que esta función no registra ningún script) y sólo usará los demás parámetros en caso de no existir el script solicitado.

El uso es el siguiente:

wp_enqueue_script( $handle ); // Mínimo
wp_enqueue_script( $handle, $src, $deps, $ver, $in_footer ); // Parámetros opcionales

Tenéis más información sobre estas funciones en el Codex de WordPress.

Dicho lo cual ya podemos pasar a aplicar lo visto hasta ahora.

Cargando jQuery, jQuery UI y Prototype desde los servidores de Google

Una pequeña aclaración antes de comenzar: podemos cargar cualquier script de WordPress (lista completa) desde cualquier servidor, de hecho veréis como no es nada complicado hacerlo.

Los scripts están alojados en los servidores de Google, que ofrecen una buena velocidad y se actualizan con cada nueva versión. También almacenan versiones antiguas de los frameworks, con lo que podemos optar por cargar una versión actualizada, la última o una más antigua.

El proceso para cargar los scripts es el siguiente:

  1. Eliminamos (des-registramos) el script correspondiente a los frameworks jQuery, jQuery UI y Prototype de WordPress
  2. Registramos de nuevo los tres scripts anteriores, cambiando la URL de los archivos
  3. Cargamos los scripts recién registrados

Esto en código quedaría así:

// jQuery
		wp_deregister_script('jquery'); // Des-registramos jQuery
		wp_register_script('jquery', ("http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"), false, ''); // Registramos de nuevo jQuery, con la URL de la última versión del framework alojada en el servidor de Google
		wp_enqueue_script('jquery'); // Cargamos jQuery

		// jQuery-UI
		wp_deregister_script('jquery-ui-core'); // Des-registramos jQuery-UI
		wp_register_script('jquery-ui-core', ("http://ajax.googleapis.com/ajax/libs/jqueryui/1/jquery-ui.min.js"), false, ''); // Registramos de nuevo jQuery-UI, con la URL de la última versión del framework alojada en el servidor de Google
		wp_enqueue_script('jquery-ui-core'); // Cargamos jQuery-UI

		// Prototype
		wp_deregister_script('prototype'); // Des-registramos Prototye
		wp_register_script('prototype', ("http://ajax.googleapis.com/ajax/libs/prototype/1/prototype.js"), false, ''); // Registramos de nuevo Prototype, con la URL de la última versión del framework alojada en el servidor de Google
		wp_enqueue_script('prototype'); // Cargamos Prototype

Como veis, no tiene mucho misterio y es muy fácil ampliarlo a otros scripts. Como siempre, cualquier duda o sugerencia la podéis hacer en los comentarios.

Nota: La versión que carga por defecto WordPress de jQuery incluye una llamada a la función  jQuery.noConflict, por lo que en el primer script que utilice jQuery deberemos hacer una llamada a esta función para asegurar que todos los scripts funcionen correctamente.

Un comentario

WordPress 2.9.2 disponible

Ya está disponible WordPress 2.9.2, soluciona un error que permite a los usuarios registrados en el blog ver artículos enviados a la papelera escritos por otros autores. Este es el único error arreglado mencionado en el anuncio oficial de la nueva versión, a la que se puede actualizar descargándola desde WordPress.org o desde el Panel de Administración de nuestros blogs.

2 Comentarios

WP Carousel 0.4.0.9

Revisando el código generado por WP Carousel me he dado cuenta de que añadía dos veces el código que iniciaba cada carrusel: una vez junto al propio carrusel y otra vez al final del código HTML generado por WordPress, justo antes del final de la página. La idea era que el carrusel se cargara sólo una vez, y al final de la página, por lo que una de las dos llamadas sobraba.

En esta nueva versión, el único cambio es que el carrusel ya no cargará dos veces el código, tan sólo lo cargará una vez, y al final de la página. La actualización, por tanto, es recomendada, pero opcional, ya que realmente no se arregla ningún fallo que afecte al funcionamiento correcto del carrusel, y la mayoría de los usuarios no van a advertir la diferencia.

No hay comentarios

Ya está disponible Portal Colorido 2.0.3

Tras unos días de corrección de errores y modificación de archivos, la versión 2.0.3 de Portal Colorido ha sido aprobada finalmente por los revisores de WordPress.org. Esta nueva versión está cargada de novedades, que comenté hace unas semanas.

Podéis descargar esta versión desde aquí, y podéis ver una demostración aquí (página de demostración de WordPress) o aquí (página de demostración de Sumolari.com).

4 Comentarios

Vía Anieto2k descubro que WordPress ha liberado hoy la versión 1.0 de WordPress para Android, con la cual podremos gestionar nuestros blogs más cómodamente. A continuación podéis ver un vídeo que explica cómo usar WordPress para Android.

2 Comentarios

Portal Colorido está muy cerca de ser aprobado

Tras una primera versión 2.0 que no fue aprovada por cinco motivos (los cuales, tras dejar una nota a los revisores en el código) y arreglar un par de errores, se ha reducido a uno (corregido en la última versión del theme enviada a WordPress.org).

Así que, si todo va bien, y la solución que he dado al último error no genera ningún otro fallo, la versión 2.0 de Portal Colorido (bueno, ahora sería la 2.0.2) estaría disponible en uno o dos días.

No hay comentarios