Entradas etiquetadas como ‘WordPress’

Escrito por Iván Alonso el Lunes 5 de julio de 2010

He añadido al theme de este blog un indicador del número de comentarios al final de cada post (en la vista principal y en la vista de archivos). Era reticente a incluirlo, ya que no creo que esta sea una página susceptible de recibir comentarios (y creo que queda bastante feo ver únicamente una ristra de “sin comentarios”), pero al final me he animado a ello, por ver si realmente hay una mejora en la usabilidad.

En WordPress, lo único que hay que añadir, dentro del loop principal, es:

<a href="<?php the_permalink() ?>#comments">
<?php comments_number('Sin comentarios (a&uacute;n)', 'Un comentario', '% comentarios'); ?></a>
Escrito por Iván Alonso el Jueves 18 de marzo de 2010

En el último post lo había dejado todo a medio hacer, y la verdad es que el aspecto de la web en general dejaba mucho que desear. Sólo necesitaba buscar un rato libre para terminar lo que había empezado.

Captura de pantalla 2010-03-18 a las 13.51.31.png

De todos modos los tonos claros no me estaban gustando nada, y no me daba la sensación de que lo que estaba construyendo tuviera relación alguna con la temática de la web (supuestamente informática y temas afines). Por casualidad visité The Cosmonauts, el blog del estudio Vostok, y me encantó el esquema de colores, con grises claros y oscuros, y un naranja chillón para los enlaces como contraste, y me propuse hacer algo parecido (desde la admiración por un trabajo bien hecho, espero que esto no se considere un plagio demandable).

Captura de pantalla 2010-03-18 a las 13.51.58.png

He mantenido parcialmente la cabecera (aunque ligeramente subida para que el borde de la página corte la imagen del sello), y he conservado el diseño a dos columnas. He añadido un fondo con textura, que creo que enriquece más que un color plano. También he utilizado un naranja distinto al suyo, que creo que llamaba demasiado la atención (aunque considero cambiarlo por un tono arenisca para que sea similar a la cabecera), y he cambiado algunas fuentes a Verdana (una de mis favoritas de siempre). Para los colores grises de los textos sí que he utilizado los mismos tonos que ellos, ya que es donde creo que han dado en el clavo para una lectura cómoda. También he añadido un redondeado en los posts (aunque Internet Explorer sigue en su línea de utilizar únicamente lo que quiere).

He eliminado el subtítulo que tenía anteriormente, he editado los colores del AdSense (que antes eran rosas, en las capturas ya se ve en ambos casos con el nuevo color) y he pasado a blanco y negro con algo menos de contraste los iconos de las redes sociales, y con eso y un bizcocho, el tema está cambiado de nuevo.

¿Opiniones? ¿Se me ha colado algún fallo?

Escrito por Iván Alonso el Lunes 21 de diciembre de 2009

Hace ya unos meses que había comenzado a rediseñar esta página, pero me había quedado parado tras terminar la cabecera y un par de detalles más. He hecho un par de cosas nuevas y lo he traducido todo a un theme de WordPress, para poder ponerlo en pruebas en la página y así poder ir trabajando sobre algo visible.

Está en permanente construcción, como todo en Internet…  

Captura de pantalla 2009-12-21 a las 17.51.54.png

Escrito por Iván Alonso el Viernes 27 de noviembre de 2009

Esto ha costado por el modo en que se manejan los strings, pero al final se ha conseguido.

Este post de WPRecipes explica cómo conseguirlo, pero el problema viene cuando en tu estado de Twitter se incluye algún enlace. En ese caso el enlace reconstruido no se verá correctamente ya que las comillas dobles aparecerán dos veces (“”), y se añadirá al inicio del enlace el nombre de tu propio dominio para intentar solucionarlo, por lo que tus enlaces siempre serán algo del tipo:

http://www.tudominio.com/"enlace/de/twitter"

Y eso, lógicamente, no funciona. Gracias a un comentario de Nick Heer en este otro post de Smashing Magazine, al respecto de este tema, conseguí llegar a un trozo de código escrito por él… pero que tampoco funciona correctamente.

Al final, la solución ha sido (y por el amor del espagueti volador, con comillas simples, que parece que la gente no sepa cómo funciona PHP):

function nb_parse_feed($feed)
{
    $stepOne = explode('<content type="html">', $feed);
    $stepTwo = explode('</content>', $stepOne[1]);
    $tweet = $stepTwo[0];
 
    $tweet = str_replace('&lt;', '<', $tweet);
    $tweet = str_replace('&gt;', '>', $tweet);
    $tweet = str_replace('&quot;', '"', $tweet);
    $tweet = str_replace('&amp;', '&', $tweet);
    $tweet = str_replace('&lt;a href', '<a href', $tweet);
    $tweet = str_replace('"&gt;', '">', $tweet);
    $tweet = str_replace('&lt;/a&gt;', '</a>', $tweet);
 
    return $tweet;
}
 
function nb_twitter_status()
{
    // Tu usuario de Twitter
    $username = 'neverbot';
    $feed = 'http://search.twitter.com/search.atom?q=from:' . $username . '&rpp=1';
    $twitterFeed = file_get_contents($feed);
    return nb_parse_feed($twitterFeed);
}

Y, donde lo necesites:

<?php echo nb_twitter_status(); ?>

Lógicamente, puedes cambiar los nombres de las funciones, yo he utilizado el prefijo nb porque las he incluido en un archivo de funciones comunes que tengo para los themes de WordPress, que incluyo con:

include_once('nb_funcs.php');
Escrito por Iván Alonso el Jueves 30 de julio de 2009

Editando el archivo wp-config.php (generalmente en el directorio raíz de nuestra instalación) y añadiendo la siguiente línea:

define('WP_POST_REVISIONS', false);

Aunque no acabo de entender cómo es que esta opción no se incluye en el panel de administración.

Escrito por Iván Alonso el Martes 24 de febrero de 2009
Múltiples gravatars con coauthors

Múltiples gravatars con coauthors

Un plugin muy interesante para utilizar en WordPress es coauthors, que extiende la funcionalidad del entorno para facilitar el incluir contenidos (posts, páginas, etc) en WordPress firmados por varios autores distintos. La funcionalidad para mostrar los nombres de los autores es muy sencilla:

<?php coauthors(); ?>

Y mostrará una lista de nombres separados por comas (y un separador de texto entre los dos últimos: and, y, etc). Si lo que necesitamos es algo un poco más complejo, como mostrar distintos tipos de enlaces, gravatars o cualquier otro dato que vayamos a extraer de cada autor por separado, podemos utilizar un iterador dentro del bucle the_loop del siguiente modo:

<?php
$i = new CoAuthorsIterator();
while($i->iterate()){
    echo get_avatar( get_the_author_email(), 46 );
}
?>

Obviamente, con el iterador podemos recorrer la lista para obtener el dato que queramos, en este caso yo lo he utilizado para extraer los diferentes avatares de cada usuario. El resultado final puede quedar como veis en la captura (uno de los autores no tiene gravatar seleccionado, tendré que obligarle a que se asigne uno). Actualizado: le he obligado a ponerse el avatar y ahora se ve mejor el efecto que buscaba:

Múltiples gravatars con coauthors (2)

Múltiples gravatars (2)

Escrito por Iván Alonso el Lunes 23 de febrero de 2009

Apunte rápido sobre cómo mostrar las fechas en tu idioma utilizando php:

<?php setlocale(LC_ALL, 'es_ES.ISO-8859-15@euro'); 
echo strftime('%A %d de %B de %Y', strtotime(get_the_time('m/d/Y'))); ?>

Primero establecemos que nuestro idioma será es_ES (sólo con ese identificador ya sería suficiente, aunque aquí lo hemos especificado algo más), y después parseamos la fecha que nos devuelve get_the_time.

Actualizado: Acabo de darme cuenta de que esta forma únicamente es válida cuando estamos dentro de the_loop, y que get_the_time siempre nos devolverá la fecha del post en el que nos encontramos en ese momento. Para obtener la hora del servidor podemos utilizar funciones de php independientes de WordPress:

echo strftime('%A %d de %B de %Y', time());

La razón de ser de que esto funcione es que strftime sí respeta la localización especificada en setlocale.

Actualizado (II): Si con este mecanismo vuestras fechas se muestran traducidas pero en ocasiones muestran símbolos extraños (por ejemplo, la e acentuada de Miércoles), el problema puede estar debido a que estáis intentando escribir un código ISO-8859-15 dentro de una página cuya codificación es otra, por ejemplo UTF8. Solución: utilizad la misma codificación que la página.

<?php setlocale(LC_ALL, 'es_ES.UTF8'); 
echo strftime('%A %d de %B de %Y', strtotime(get_the_time('m/d/Y'))); ?>
Escrito por Iván Alonso el Viernes 20 de febrero de 2009

He cambiado el widget por defecto para las nubes de tags incluido en WordPress por el plugin Configurable Tag Cloud (CTC), que me parece que queda algo mejor y tiene muchos más parámetros configurables, que siempre viene bien. Además de, como es obvio, un cambio (más) de theme… escogí uno cualquiera que fuera simple y lo he ido descomponiendo hasta dejarlo en lo más minimalista posible, como podéis ver. Aún tengo cosas por hacer, pero éste ya va a ser el definitivo.

Escrito por Iván Alonso el Miércoles 14 de enero de 2009

Aunque el theme que utilicéis/desarrolléis para WordPress esté en el idioma de Cervantes, aún hay unas cuantas cosas que os seguirán apareciendo en inglés, como las fechas, los enlaces de metainformación (como Log in), y un largo etcétera. Y, por supuesto, todo lo que aparezca en el panel de control a la hora de editar, escribir posts, administrar usuarios y cualquier cosa que hagáis como administradores.

La solución es muy fácil: una opción es instalar WordPress directamente en el idioma que os interese, algo que podéis hacer descargándolo directamente de aquí, donde está la traducción oficial. Cada vez que aparece una nueva versión de WordPress aparecen rápidamente traducciones no oficiales que se pueden utilizar y son plenamente funcionales, aunque yo siempre he preferido esperar a que aparezca la de WordPress.org y usar esa.

La otra opción: en la misma página viene la guía de lo que hay que hacer si lo único que necesitáis es traducir una instalación ya existente de WordPress en inglés, que es tan fácil como:

  • Descargar el paquete de WordPress en tu idioma [enlace a la versión 2.7 en castellano] y descomprimirlo en alguna carpeta.
  • Copiar los archivos que hay en wp-content/languages a la misma carpeta de tu instalación en inglés de WordPress.
  • Editar tu archivo wp-config.php (que si no has cambiado nada estará en el directorio raíz de tu instalación de WordPress) y cambiar la línea:
    define('WPLANG', '');

    por

    define('WPLANG', 'es_ES');

Y con esto ya está funcionando. Extra-sencillo, extra-rápido.

Escrito por Iván Alonso el Lunes 15 de diciembre de 2008

He vuelto a cambiar (otra vez) el tema del blog, pasando del antiguo yoghourt a Foliage (además una versión modificada). La verdad es que no acabo de encontrarme a gusto con ningún tema que no haya podido hacer desde cero, así que está claro que este será modificado intensamente hasta ir acercándose más a lo que tengo en mente.

Por supuesto, cualquier idea o comentario al respecto es más que bienvenida.