Acordeón Javascript para el listado de artículos

Esto es algo que tenía en el viejo blog, y me gustaba por la facilidad que da de ir a alguno de los artículos. Estuve buscando a ver si ya existía un plugin o widget que me ofreciera la funcionalidad, pero no encontré nada, así que lo vi como la oportunidad ideal de aprender a crear widgets para WordPress.

Buscando tutoriales, encontré unos cuantos, pero muchos están desfasados y solo cubren versiones anteriores de WordPress. Otros tantos están incompletos o dan información por supuesta, por lo que no son demasiados útiles para empezar. Al final encontré este que explica paso a paso la creación de un widget funcional.

Siguiendo el tutorial, la creación del widget es muy sencilla, y pude reutilizar la mayor parte del código PHP que tenía para el viejo blog (excepto la obtención de los datos de los artículos que ahora pasa a hacerse a través de la API de WordPress). Lo que no es tan inmediato es la carga del Javascript necesario para el acordeón, ya que hay que usar un hook.

Indicando la URL del script de manera relativa al plugin/widget tal y como se explica en el codex de WordPress:

El resultado sería algo similar a esto:

function load_into_head(){
    echo '<script type="text/javascript" src="'.plugins_url('accordion.js', __FILE__).'"></script>'."n";
    echo '<link rel="stylesheet" href="'.plugins_url('acc-styles.css', __FILE__).'" type="text/css" media="screen" />';
}

add_action('wp_head', 'load_into_head');

Donde estoy cargando tanto el script del acordeón como una hoja con sus estilos en la cabecera de la página donde aparezca el widget.

En cuanto tenga un poco de tiempo limpiaré y comentaré el código y compartiré el widget por si alguien lo quiere utilizar. También me hará falta darle un nombre. De momento se llama “Article Accordion” que no es muy original, aunque es bastante autoexplicativo :P. ¿A alguien se le ocurre un buen nombre?