Entre Blogs Portal

Publicado por Fernando Tellado | 13 Junio 2008

Como tener Letra Capital en tu Blog

ay bastante gente a la que le gusta usar la letra capital en sus blogs. Me refiero a ese bonito efecto que vemos en libros y periódicos que muestran el primer carácter de un texto en un tamaño, incluso tipografía, diferente.

Yo lo he usado mucho tiempo en CiberPrensa y, como de vez en cuando me lo pregunta algún lector me he animado a realizar una guía en la que mostrar las dos maneras (que yo se) de poner Letra Capital en tu Blog.

El Modo Simple

Hay un modo de conseguirlo del modo mas rápido y sencillo, mediante un plugin. No es mala opción si quieres obtener un resultado rápido, pero tiene el inconveniente de que no controlas completamente el aspecto de la letra capital.

El proceso es este:

  1. Descarga el plugin DropCap First
  2. Descomprímelo en tu ordenador y sube la carpeta "dropcap_first" al directorio de plugins de tu servidor (/wp-content/plugins/)
  3. Activa el plugin

Si te animas, puedes retocar algo del CSS del plugin modificando el fichero 'dropcap_style.css', situado en la carpeta del plugin.

El Modo HTML

Aquí ya hablamos de palabras mayores (nunca mejor dicho) pues no solo vas a poder configurar el estilo CSS de un modo básico sino que incluso puedes utilizar marcas HTML especiales o, mas interesante, utilizar imágenes como letra capital. Además, lo automatizaremos con una función PHP.

Para dar un estilo diferente a la primera letra de un párrafo necesitamos enmarcarla en un elemento HTML especial al que luego añadiremos un poco de CSS para ponerlo a nuestro gusto. Utilizaremos un elemento 'span' con la clase 'letracapital'. El párrafo resultante sería algo así:

PHP:
  1. <span class="initialcap">E</span>sta guía habla de como poner letras capitales, ...

Acuérdate de no repetir la letra después de 'span'

El CSS

Aquí tienes que ser un poco fino pues cada plantilla tiene diferentes valores de alto de línea y tamaño de fuente, así que tendrás que adaptar esta parte a tu theme. Asumiremos, para el ejemplo, que tu párrafo estándar tiene un tamaño de fuente de 14 pixels y un algo de línea de 18 pixels.

1. ¡Flotando! - Tenemos que hace que nuestra letra capital "flote" a la izquierda para que el texto del párrafo fluya a su alrededor.

CSS:
  1. span.letracapital{
  2. float: left;
  3. }

2. Tamaño de Fuente - Le asignamos un tamaño de fuente de 40 pixels (recuerda que esto puede variar dependiendo de los valores por defecto de tu plantilla), y un alto de línea de 35 pixels, lo que viene a ser el doble del alto de línea del párrafo estándar menos 1 pixel (en este caso solamente).

CSS:
  1. span.letracapital{
  2. float: left;
  3. font-size: 40px;
  4. line-height: 35px; /* Dobla el alto de linea menos 1 pixel */
  5. }

3. Mas Estilo - Vamos a utilizar una fuente serif, ponerla en azul y añadirle un poco de espacio a la derecha para que no se mezcle con el párrafo.

CSS:
  1. span.letracapital{
  2. float: left;
  3. font-size: 40px;
  4. line-height: 35px; /* Dobla el alto de linea menos 1 pixel */
  5. font-family: Georgia, "Times New Roman", Times, serif;
  6. color: #2583ad; /* Azul */
  7. padding-right: 5px;
  8. }

Lo normal es que tengas que jugar un poco con el tamaño de fuente y alto de línea para ajustarlo a tu plantilla. Esta es tu tarea y lo que te ofrecerá un estilo personal.

Automatizando que es gerundio

Perfecto, ya has añadido el CSS necesario a tu fichero style.css. Pero ¿a que sería un engorro tener que añadir marcas HTML cada vez que escribas un nuevo artículo?. Con este poco de PHP conseguiremos que WordPress lo haga por ti:

PHP:
  1. function ayudawordpress_letra_capital($content){
  2.  
  3.     // Expresion regular, se ajusta a una sola letra
  4.     // * incluso si esta dentro de un enlace.
  5.     $searchfor = '/>(<a [^>]+>)?([^<\s])/';
  6.  
  7.     // La cadena por la que estamos remplazando la letra
  8.     $replacewith = '>$1<span class="letracapital">$2</span>';
  9.  
  10.     // La remplaza, pero solo una vez (en la primera letra del post)
  11.     $content = preg_replace($searchfor, $replacewith, $content, 1);
  12.  
  13.     // Muestra el resultado
  14.     return $content;
  15. }
  16.  
  17. // Agrega esta funcion el contenido de WordPress
  18. add_filter('the_content', 'ayudawordpress_letra_capital');

¿Como funciona este código?. Básicamente, coge el contenido del post y envuelve la primera letra con muestra marca especial.

Todo lo que tienes que hacer es pegar este código en el fichero 'functions.php' de tu plantilla.


Ahora tu eliges cual de los dos sistemas prefieres. El primero te da resultados inmediatos y sin esfuerzo, pero el segundo es mucho mas completo y te permitirá distinguir tu blog del resto del mundo.

También te puede interesar:

11 comentarios | Escribe un comentario

  1. **Juanito** (11 comentarios) - 13/06/2008 a las 1:20

    Muy bueno, muchas gracias… por ahora prefiero el plugin.
    Saludos.

  2. dIEGO | Durmiendo Afuera (7 comentarios) - 13/06/2008 a las 4:22

    podras creer que estaba viendo la lista de plugins de anieto2k y me intereso este, y mucho, y como estaba muerto en cyberprensa estaba por mandarte un mail

    coincidencia je

    muchizimas gracias wink:

  3. dIEGO | Durmiendo Afuera (7 comentarios) - 13/06/2008 a las 4:28

    sabes que lo activo y no hay caso, no hay diferencia, q puede ser??

  4. iván (14 comentarios) - 13/06/2008 a las 5:58

    Voy a hacer pruebas a ver como queda. La letra capital siempre ha sido una de las variantes que quise implementar en mi blog.
    Gracias por la ayuda!

  5. Fernando Tellado (1238 comentarios) - 13/06/2008 a las 7:54

    Diego ¿vaciaste la cache?

  6. Ramón (5 comentarios) - 14/06/2008 a las 16:00

    Es que las clases CSS del fichero .css y de la función PHP son diferentes.

    En la línea 8 del código PHP habría que poner:

    $replacewith = '>$1<span class="letracapital">$2</span>';

  7. Ramón (5 comentarios) - 14/06/2008 a las 16:01

    Ouch. WP ha filtrado los tags de comentario. En resumen, que hay que poner la misma clase CSS tanto en el código PHP como en la hoja de estilo.

    UPDATE: cambiado :D

  8. Fernando Tellado (1238 comentarios) - 14/06/2008 a las 16:33

    Gracias Ramón, me debí cargar parte del texto de la llamada al CSS. Ya lo he cambiado ;)

  9. dIEGO | Durmiendo Afuera (7 comentarios) - 15/06/2008 a las 6:45

    vacíe si, pero no hay caso

    quedate tranquilo igual, estuve viendo y con la plantilla que tengo, quedaria bastante feo je

    muchas graciasss
    un abrazoo

  10. Sabogal (14 comentarios) - 8/10/2008 a las 4:22

    No comprendo en que parte del theme o donde debo colocar la última linea del código:

    add_filter(’the_content’, ‘ayudawordpress_letra_capital’);

    Saludos!

  11. Sabogal (14 comentarios) - 8/10/2008 a las 4:34

    Bueno, he conseguido hacerlo funcionar.

    Gracias

Escribe un comentario




XHTML: Puedes usar estas etiquetas: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Ayuda WordPress está alojado en Mediatemple - Tu también puedes

LO ÚLTIMO EN LOS FOROS

Cargando...

IN YOUR LANGUAGE

Spanish flagItalian flagChinese (Simplified) flagPortuguese flagEnglish flagGerman flagFrench flagJapanese flagRussian flagSwedish flagCatalan flagHebrew flag
By N2H