El sacrosanto, pero olvidado, W3C

Hubo un tiempo en que era muy importante que el código HTML de un blog estuviese bien escrito. Por ello, organismos con el W3C se encargaban de dictar normas y gente como Diego Martín o Walter Kobylanski dedicaban gran parte de su tiempo a enseñarnos cómo hacer las cosas bien. Les hablo de allá por 2003 y a mi todo aquello se me quedó grabado a fuego.

Hoy, existen muchos afamados y exitosos blogs que no validan correctamente, lo que demuestra posiblemente que todo eso no sirve para nada. Que sea un factor a tener en cuenta por parte de los buscadores, al fin y al cabo, es lo de menos. Pero no poner el atributo alt en un img puede impedir a alguien, con visión reducida, el acceso a tu blog, ya que al dispositivo, capaz de interpretar el código y convertirlo en voz, le faltará algo (ver Algunas reglas sencillas para validar tu blog).

Tener un blog en una plataforma como WordPress no te garantiza tener un código que valide correctamente. El theme puede estar desarrollado perfectamente pero hay tres vías por donde puedes empezar a hacer aguas. Una son los widgets, sobretodo los que permiten añadir código html. Algunos fallan si están vacios como, por ejemplo, el de comentarios recientes.

Otro camino tortuoso es el de los plugins. Hay desarrolladores que no tienen en cuenta la validación XHTML. A continuación, algunos ejemplos que he sufrido recientemente:

Facebook Social Plugins. Uno de los plugins más recomendables para añadir el botón “I like”. Sin embargo, se añade el atributo “allowTransparency” que no es correcto. Afortunadamente, se puede eliminar del script y no afecta al funcionamiento.

El botón de Twitter. Si quieres incluir un texto personalizado y una url, como puede ser necesario para intergrarlo en WP, se añaden los atributos data-text y data-url que no pasan el test de validación. En este caso, la única forma de solventarlo es configurarlo con la URL de la pagina y el título de la pagina en que esta el botón.

Compartir en Tuenti. Todas las imágenes se construyen sin “alt”.

Y, por último, habrá que tener mucho cuidado al escribir nuevas entradas, especialmente si conllevan código (el embed de YouTube no valida, sin ir más lejos).

Yo seré un romántico pero me gusta que mi blog conteste lo siguiente, cuando le paso el test de validación Valid XHTML 1.0 Transitional.

documento válido xhtml
email Twitter Tumblr Posterous del.icio.us Google Bookmarks BarraPunto Meneame Wikio Ping.fm Technorati Add to favorites

Nuevo blog en Blogpocket Multisite: Acordes Modernos

También puedes leer Weblog Magazine, mi blog en ABC.es

Y estoy en Twitter, Facebook y Tumblr.

El cuerpo humano en HTML y PHP

Ahí es nada la currada que se han pegado en Alvaro Go! para hacer este, que sería el código del cuerpo humano (hasta con esponsor) en HTML y PHP …

Vía Microsiervos

Contenido exclusivo para suscriptores al Feed

¡Gracias por seguirnos a diario!. Premiamos tu fidelidad ofreciéndote habitualmente contenidos exclusivos. Hoy puedes descargar:

Clic aquí para iniciar la descarga Guía para Administrar WordPress

Tutorial: crear una barra con los datos del autor

Si nuestro blog es unipersonal, es probable que no nos interese el siguiente tutorial. Pero si tenemos un en blog multipersonal, ya sea con una cantidad determinada de colaboradores  o abierto todo aquel que quiera colaborar (como éste), puede ser una buena idea mostrar de forma dinámica los datos del autor de la entrada actualizados al día.

Seguramente existe más de un plugin para realizar esto o algo por el estilo, pero como soy un fanático del hágalo usted mismo les voy a mostrar cómo hacerlo por código utilizando las mismas funciones de Wordpress.

Cabe aclarar que más allá del código php y html, seguramente cada uno necesitará adaptar un poco los estilos css a su theme. De todas formas sobre utilizar el theme por defecto de wordpress 2.9.2. La idea por supuesto es que tengan alguna idea de html, php y css, pero sino copiar y pegar el código final también vale. Comencemos entonces con el código:

Creemos primero el div que va a contener todo:

HTML:
  1. <!--div contenedor -->
  2. <div id="author-data">
  3. </div>

Vamos a comenzar mostrando el gravatar del autor. Para eso vamos a utilizar la función "get_avatar()" que recibe el id del usuario y el ancho en pixeles del avatar, y retorna el código html listo para insertar. A su vez para obtener el id del autor usaremos la función "get_the_author_meta()" que nos servirá para obtener casi cualquier información acerca del mismo, recibe como parámetro el dato a recuperar. Una vez obtenido el código lo imprimimos:

PHP:
  1. echo get_avatar(get_the_author_meta('ID'),80);

Ahora lo segundo seria agregar un título con un enlace al sitio web del autor, para eso utilizaremos la función "the_author_link()" que imprime el nombre publico del autor como link a su sitio.

HTML:
  1. <h4>Acerca de <?php the_author_link(); ?>:</h4>

Si pensamos en el SEO y preferimos que el enlace sea nofollow (o sea que los bots como el de Google no lo considere). Podriamos hacer lo siguiente:

PHP:
  1. <h4>Acerca de <a rel="nofollow" title="web del autor" href="<?php the_author_meta('user_url'); ?>;" <?php the_author(); ?></a>/h4>

Como verán usamos la función "the_author()" que imprime el nombre publico del author y la función "the_author_meta()" para obtener el link de su web.

Ahora utilicemos nuevamente la función "the_author_meta()" pero para obtener su descripción:

PHP:
  1. <p><?php the_author_meta('user_description'); ?>
  2. </p>

Si por cuestiones de diseño quisiéramos recortarla a no mas de una x cantidad de caracteres podemos usar la función "substr()" de php. Recibe la cadena a recortar, el punto de inicio y la cantidad de caracteres. Para recuperar la descripción usamos "get_the_author_meta()", como ya habrán deducido, cuando lo usamos con get_ adelante recuperamos el valor y cuando lo usamos sin el, directamente lo imprimimos. Por ejemplo si quisiéramos recortar la descripción a 140 caracteres:

PHP:
  1. <p>
  2. <?php
  3. //Con esto imprimimos los primeros 140 caracteres (a lo twitter) de la descripción
  4. echo substr( get_the_author_meta('user_description') , 0 , 140 );
  5. ?>
  6. </p>

Ahora la idea va a ser mostrar la cantidad de post del autor (una pavada que hacemos con la función "the_author_posts()") pero que a su vez funcione como un link a la pagina con los post del author. Esta página en un blog con permalinks "bonitos" tendría la siguiente forma tu-dominio.com/author/el-autor/. Pero como dependiendo de la configuración, esto puede cambiar, vamos a obtener primero el link a la página con los posts del autor.

Para nuestra tarea vamos a hacer uso de la función "get_author_posts_url()" que recibe el id del autor y devuelve el link que mostramos. Para obtener el id, volvemos a usar la función "get_the_author_meta()":

PHP:
  1. get_author_posts_url(get_the_author_meta('ID'));

Ya el link armado para mostrar todo lo que queríamos queda así:

PHP:
  1. <p>
  2. Ha publicado <a title="otros posts del autor" href="<?php echo get_author_posts_url(get_the_author_meta('ID')); ?>" <<?php the_author_posts() ?> posts </a>
  3. </p>

Para finalizar los datos a mostrar nos queda un detalle mas, los comentarios realizados por el autor. Dado que no existe (o más bien, yo no conozco) una función para obtener directamente la cantidad de comentarios de un autor, vamos a crear una, basándonos en el sql que Fernando me facilito tan amablemente hace un tiempo,que a su vez esta basado en el del plugin wordpress-plugin-nofollow-free:

PHP:
  1. //La idea es que esta función reciba el id del autor y devuelva la cantidad de comentarios que realizó.
  2. function get_the_author_comments($author_id){
  3.  
  4. /*Obtenemos algunos datos del autor que vamos a necesitar*/
  5. $nick = get_the_author_meta( 'nickname' , $author_id);
  6. $username = get_the_author_meta( 'user_login' , $author_id);
  7. $displayname = get_the_author_meta( 'display_name' , $author_id);
  8. $email = get_the_author_meta( 'user_email' , $author_id);
  9.  
  10. /*Usamos el objeto global $wpdb (algo así como una interfaz de wp para acceder a la base de datos)*/
  11. global $wpdb;
  12.  
  13. /*
  14. Armamos un sql para que cuente la cantidad de registros (o sea comentarios) cuando
  15. el id de usuario sea igual que el del autor, o cuando su email coincida con el campo comment_author_email o cuando su nombre de usuario o su nombre publico o su nickname coincidan con el campo comment_author.
  16. */
  17. $sql = "SELECT COUNT(*) AS contador FROM " . $wpdb-&gt;comments . " WHERE " .
  18. " user_id = $author_id " .
  19. " or comment_author_email = '$email' " .
  20. " or comment_author IN ('" . $displayname . "','" . $username . "','" . $nick . "')";
  21.  
  22. //retornamos el resultado
  23. return  $wpdb-&gt;get_var($sql);
  24.  
  25. }

Debido al hecho de que si los comentarios del blog son abiertos al que quiera comentar, nos vamos a encontrar con un mismo usuario que comenta con 2 email y nombres distintos o 2 usuarios que comentan con el mismo nombre; el resultado de la función no siempre va a ser exacto. Pero dentro de todo funciona bastante bien.

Ahora vamos a insertarla en el archivo functions.php de nuestro theme para poder utilizarla. En nuestro código vamos a utilizarla así (insertándola en el mismo párrafo que la de los posts del autor):

PHP:
  1. <p>
  2. Ha publicado <a title="otros posts del autor" href="<?php echo get_author_posts_url(get_the_author_meta('ID')); ?>"&gt; &lt;?php the_author_posts() ?&gt; posts &lt;/a&gt; | Ha realizado <?php echo get_the_author_comments(get_the_author_meta('ID')); ?> comentarios
  3. </p>

Todo nuestro código insertado dentro del div contenedor y puesto en forma de función por una cuestión de practicidad queda así:

PHP:
  1. <!--div contenedor -->
  2. <div><?php
  3. //le pongo show_author_data por ponerle un nombre
  4. function show_author_data(){ ?>
  5. <!--div contenedor -->
  6. <div>
  7. <?php echo get_avatar(get_the_author_meta('ID'),80); ?>
  8. <h4>Acerca de <a rel="nofollow" title="web del autor" href="<?php the_author_meta('user_url'); ?>"><?php the_author(); ?></a></h4>
  9. <p>
  10. <?php
  11. //Con esto imprimimos los primeros 140 caracteres (a lo twitter) de la descripción
  12. echo substr( get_the_author_meta('user_description') , 0 , 140 );
  13. ?>
  14. </p>
  15. <p>
  16. Ha publicado <a title="otros posts del autor" href="<?php echo get_author_posts_url(get_the_author_meta('ID')); ?>"> <?php the_author_posts() ?> posts </a> | Ha realizado <?php echo get_the_author_comments(get_the_author_meta('ID')); ?> comentarios
  17. </p>
  18. </div>
  19. <?php } ?>
  20. </div>

Si al colocar ambas funciones en su archivo functions.php empiezan a saltarles errores diciendo que las cabeceras no se han podido enviar, lo mas probable es que hayan dejado saltos de línea o espacios por fuera de las etiquetas de php.

Por último vamos a agregar a la hoja de estilos de nuestro theme algunos retoques para embellecer nuestra barrita (por lo menos para que en Kubrick se vea bien):

CSS:
  1. #author-data {
  2. color: #000000; /* o sea negro */
  3. font-size: 14px;
  4. background: #cccccc;
  5. width: 100%;
  6. margin: 10px 0px;
  7. padding: 3px;
  8. float: left;
  9.  
  10. /*si ponen lo siguiente su css no va a validar */
  11. border-radius: 5px; /*para opera*/
  12. moz-border-radius: 5px; /*para firefox */
  13. webkit-border-radius: 5px; /*para safari y chrome*/
  14. khtml-border-radius: 5px; /* para konkeror */
  15. box-shadow: 2px 2px 5px #000000; /*para opera*/
  16. -moz-box-shadow: 2px 2px 5px #000000;/*para firefox*/
  17. -webkit-box-shadow: 2px 2px 5px #000000;/*para safari y chrome*/
  18. -khtml-box-shadow: 2px 2px 5px #000000;/*para konkeror*/
  19. }
  20.  
  21. #author-data .avatar {
  22. margin: 4px;
  23. float: left;
  24. }
  25.  
  26. #author-data h4 {
  27. font-size: 17px;
  28. margin: 3px;
  29. }
  30.  
  31. #author-data p {
  32. margin: 0px;
  33. padding: 4px;
  34. }

En lo personal inserte la barrita arriba del título (llamando a la función show_author_data), pero cada uno colóquela donde quiera (siempre y cuando sea adentro del bucle).

Mi barrita en Kubrick se ve así (no se ve el gravatar porque al momento de tomar la captura me encuentro offline):

Para que funcione en Twenty Ten (el tema por defecto en wp 3.0) hay que armar una estructura un poco más compleja en cuanto a divs y css:

PHP:
  1. function show_author_data(){ ?>
  2. <!--div contenedor -->
  3. <div>
  4. <div><?php echo get_avatar(get_the_author_meta('ID'),80); ?></div>
  5. <div>
  6. <h4>Acerca de <a rel="nofollow" title="web del autor" href="<?php the_author_meta('user_url'); ?>"><?php the_author(); ?></a></h4>
  7. <p>
  8. <?php
  9. //Con esto imprimimos los primeros 140 caracteres (a lo twitter) de la descripción
  10. echo substr( get_the_author_meta('user_description') , 0 , 140 );
  11. ?>
  12. </p>
  13. <p>
  14. Ha publicado <a title="otros posts del autor" href="<?php echo get_author_posts_url(get_the_author_meta('ID')); ?>"> <?php the_author_posts() ?> posts </a> | Ha realizado <?php echo get_the_author_comments(get_the_author_meta('ID')); ?> comentarios
  15. </p>
  16. </div>
  17. </div>
  18. <?php } ?>

Y los css:

CODE:
  1. #author-data {
  2. color: #000000; /* o sea negro */
  3. font-size: 14px;
  4. background: #cccccc;
  5. margin: 10px 0;
  6. padding: 3px;
  7. float: left;
  8. clear: both;
  9. width: 100%;
  10.  
  11. /*si ponen lo siguiente su css no va a validar */
  12. border-radius: 5px; /*para opera*/
  13. moz-border-radius: 5px; /*para firefox */
  14. webkit-border-radius: 5px; /*para safari y chrome*/
  15. khtml-border-radius: 5px; /* para konkeror */
  16. box-shadow: 2px 2px 5px #000000; /*para opera*/
  17. -moz-box-shadow: 2px 2px 5px #000000;/*para firefox*/
  18. -webkit-box-shadow: 2px 2px 5px #000000;/*para safari y chrome*/
  19. -khtml-box-shadow: 2px 2px 5px #000000;/*para konkeror*/
  20. }
  21.  
  22. #author-data #author-gravatar {
  23. margin: 4px;
  24. float: left;
  25. margin: 4px -104px 4px 4px;
  26. }
  27.  
  28. #author-data #author-info {
  29. float: left;
  30. margin: 0 0 0 104px;
  31. }
  32.  
  33. #author-info h4 {
  34. font-size: 17px;
  35. margin: 2px;
  36. padding: 0;
  37. }
  38.  
  39. #author-info p {
  40. margin: 2px;
  41. padding: 4px;
  42. }

El resultado es el siguiente:

Palabras Finales

Espero que algún valiente haya llegado hasta acá. La idea del tutorial no era tanto hacer la barrita en si, sino colaborar a que de a poco muchos empiecen a perderle el miedo al código y no sean tan plugin dependientes.

Además tenía tiempo queriendo colaborar con algún post para esta bodega de conocimiento que es AyudaWordpress. Espero les sea útil.

PD: para el que no entendió un pomo pero igual quiere la barrita acá la tiene en forma de plugin(eso si, en versión súper minimalista, no esperen panel de control, opciones, ni nada por el estilo).

WordPress en HTML5

Pues si, eso es nada más y nada menos en lo que se quiere meter Enric Enrich, en pasar todo el código de WordPress a HTML5. No le arriendo la ganancia, por supuesto y, sinceramente, no creo que llegue a hacerlo, además de que si se termina de animar lo que le recomiendo es que se una al equipo de desarrollo y se deje arropar del resto de desarrolladores.

Porque la idea es buena, lo que no lo es tanto es abordarla como un concepto personal ¿por qué?, pues porque WordPress no es un proyecto personal, es de la comunidad. Otra cosa es que haga un tema en HTML5, como ya hizo con TwentyFive, pero plantarse como objetivo "personal" pasar WordPress a HTML5 me parece, no una locura, una insensatez, y que me perdone por ser tan sincero.

Así que, Enric, mi consejo es que te lo pienses bien, y concentres tus esfuerzos en - una de dos - unirte al equipo de desarrollo de WordPress, colaborando con el código, o en desarrollar temas en HTML5, que todos agradeceremos. Pero vamos, que es mi opinión, que no quiero desanimarte, solo que lo veo desde otro prisma.

Por cierto, Enric, si lees esto, a ver si pones un feed a tu blog, que ni Google Reader te lo reconoce y no hay manera de seguirte salvo en bitácoras.com ;)

Contenido exclusivo para suscriptores al Feed

¡Gracias por seguirnos a diario!. Premiamos tu fidelidad ofreciéndote habitualmente contenidos exclusivos. Hoy puedes descargar:

Clic aquí para iniciar la descarga Guía Windows Live Writer

¿Te gustó este post? ¡Compártelo! Bitacoras.com TwitThis Facebook Meneame Google Bookmarks del.icio.us Live Technorati Ping.fm Wikio Turn this article into a PDF! E-mail this story to a friend! Print this article!

Plantillas y temas para wordpress recomendados.2


Otra nueva recopilación de plantillas y temas para wordpress casi gratis que seguro te resultará muy interesante y completa para crear tu sitio web.

  • Auguste HTML Premium Site, una plantilla muy interesante en rojo y blanco por solo 17$.
  • Plantilla NN Studio Premium para montar tu portafilio y web de empresa.
  • UMBOOM es un plantilla de gran calidad y muy profesional en xhtml+css.
  • OpenHouse para wordpress para crear su web inmobiliaria con buscador de viviendas.
  • The glamour es un tema para wordpress pensado para los negocios y mostrar tu portafolio.
  • Socket una plantilla y gestor de contenidos en PHP para montar tu web corporativa con todo tipo de detalles.
  • .honorem es un tema perfecto para tu web corporativa, de negocios y portafolio.
  • Asylum es un conjunto de originales plantillas para montar sitios corporativos con distinción.
  • Distinct es una plantilla html para portafoliso y negocios.
  • Naturel es una plantilla profesional en xhtml+css para crear tu sitio de diseño web, negocios o portafolio.
  • MicroSite una plantilla sencilla y limpia para montar tu curriculum web.

Original Post / Entrada Original: Carrero.es. Si quieres Juegos Gratis disfruta aquí o decora tu casa.

Plantillas y temas para wordpress recomendados.2

HTML5: todas las nuevas etiquetas

HTML5 viene con una buena cantidad de nuevas etiquetas de código así que si eres desarrollador o simplemente quieres empezar a conocerlas apunta, cada elemento de la lista está enlazado a la página de la descripción y modo de uso:

Muy pronto vas a empezar a verlas por todas partes, WordPress y sus temas incluidos, así que toma buena nota, hay importantes novedades, sobre todo no pierdas de vista las tags <article>, <nav>, <aside> y <section>.

Si quieres empezar a probar códigos aquí tienes una lista de temas WordPress en HTML5:

Referencias: w3schools y quackit

¿Te gustó este post? ¡Compártelo! Bitacoras.com TwitThis Facebook Meneame Google Bookmarks del.icio.us Live Technorati Ping.fm Wikio Turn this article into a PDF! E-mail this story to a friend! Print this article!

Actualizar de WordPress Mu a WordPress 3.0

Se avecina el advenimiento de WordPress 3.0 y una de las preguntas del millón es ¿como actualizo de WordPress MU a WordPress 3.0?.

Y es que hay muchas guías de como pasar de WordPress "normal" a MU pero ¿al revés?. Casi nunca se había planteado esta cuestión, pero claro, ahora es distinto, ahora todo se integra en un solo WordPress.

Afortunadamente Developers Mind ha creado una guía muy clarita y sencilla de como pasar de WordPress MU (v 2.9.2) a WordPress 3.0 (beta 2), que comparto, para los que no os apañéis con el inglés …

1. Remplaza los ficheros de WordPress:
Descarga y descomprime la última versión de WordPress 3.0 (beta 2). Borra las carpetas wp-admin y wp-includes. Sube los archivos descomprimidos al servidor, sobreescribe los archivos antiguos. Asegúrate de que sobreescribes todos los archivos, y presta atención especial a la carpeta wp-content. Debes sobreescribir los archivos de esta carpeta y no remplazar la carpeta con la nueva, ya que la nueva contiene los temas y los plugins (como verás, esto es muuuy distinto a lo que solemos recomendar en Ayuda WordPress para una actualización "normal" de WordPress, no es un error de transcripción).

2. Actualiza WordPress:
Accede al escritorio de WordPRess y sigue el enlace que te pide que actualices la red (update network) para, de este modo, actualizar todos los sitios (blogs) de tu red.

3. Actualiza wp-config:
WordPress encripta las cookies pero debes añadir el código NONCE_SALT mostrado en la parte superior del escritorio al fichero wp-config.php. Por ejemplo: define( 'NONCE_SALT', 'a<.4I)#p^-iy?sbb3JPu+W~-Zk|aPLMN[TvoiHIKGI_bbB-h?iliBb2ra' ). Este código será único para tu instalación. Añádelo encima de la línea que dice: /* That's all, stop editing! Happy blogging. */

HTML:
  1. define( "WP_USE_MULTIPLE_DB", false );
  2. define( 'NONCE_SALT', 'a<U3S[ g<.4I)#p^-iy?sbb3JPu+W~-Zk|aPLMN[TvoiHIKGI_bbB-h?iliBb2ra' );
  3. /* That's all, stop editing! Happy blogging. */
  4. /** Absolute path to the WordPress directory. */
  5. if ( !defined('ABSPATH') )
  6.     define('ABSPATH', dirname(__FILE__) . '/');
  7. /** Sets up WordPress vars and included files. */
  8. require_once(ABSPATH . 'wp-settings.php');

4. Actualiza las reglas de Rewrite:
El fichero wp-content/blogs.php se ha dejado de usar en WordPress 3.0 y debes actualizar las reglas de rewrite para que usen el archivo wp-includes/ms-files.php. Borra la referencia al archivo wp-content/blogs.php y cámbialo a wp-includes/ms-files.php en el archivo .htaccess:

HTML:
  1. RewriteEngine On
  2. RewriteBase /
  3.  
  4. #archivos subidos
  5. RewriteRule ^(.*/)?files/$ index.php [L]
  6. RewriteCond %{REQUEST_URI} !.*wp-content/plugins.*
  7. RewriteRule ^(.*/)?files/(.*) wp-includes/ms-files.php?file=$2 [L]
  8.  
  9. # agrega una barra a /wp-admin
  10. RewriteCond %{REQUEST_URI} ^.*/wp-admin$
  11. RewriteRule ^(.+)$ $1/ [R=301,L]
  12.  
  13. RewriteCond %{REQUEST_FILENAME} -f [OR]
  14. RewriteCond %{REQUEST_FILENAME} -d
  15. RewriteRule . - [L]
  16. RewriteRule  ^([_0-9a-zA-Z-]+/)?(wp-.*) $2 [L]
  17. RewriteRule  ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
  18. RewriteRule . index.php [L]
  19.  
  20. <IfModule mod_security.c>
  21. <Files async-upload.php>
  22. SecFilterEngine Off
  23. SecFilterScanPOST Off
  24. </Files>
  25. </IfModule>

Borra también el archivo blogs.php una vez hechos los cambios en el .htaccess

También se ha dejado de usar wpmu-settings.php en WordPress 3.0, y puede borrarse igualmente.

Ah bueno, y como siempre, deberías hacer copia de seguridad de tu base de datos antes de actualizar WordPress, que no se te olvide.

¿Te gustó este post? ¡Compártelo! Bitacoras.com TwitThis Facebook Meneame Google Bookmarks del.icio.us Live Technorati Ping.fm Wikio Turn this article into a PDF! E-mail this story to a friend! Print this article!

Plantilla HTML+CSS 11 en 1: Echoes


echoes plantilla web 470x238 Plantilla HTML+CSS 11 en 1: Echoes

Echoes es una plantilla CSS+HTML de alta calidad y que está pensada para el diseño de sitios para empresas y portafolio de desarrolladores. Esta plantilla es un 11 en 1, ya que incluye 3 estilos para página principal, 7 plantillas de portafolio, 4 plantillas de páginas y un formulario de contacto con validación AJAX.

Entre sus características están la muestra de miniaturas en modo presentación o carrusel, páginas con ancho completo, soporte para imágenes y vídeos, menús, multi-columna en el pie, y otras muchas posibilidades de personalización.

Más información sobre la plantilla Echoes.

Original Post / Entrada Original: Carrero.es. Si quieres Juegos Gratis disfruta aquí o decora tu casa.

Plantilla HTML+CSS 11 en 1: Echoes

Relanzando Programacion en Castellano en beta

pstronga href="http://carrero.es/wp-content/uploads/2010/04/programacion-beta.gif"img class="alignright size-thumbnail wp-image-4783" style="margin: 6px;" title="programacion-beta" src="http://carrero.es/wp-content/uploads/2010/04/programacion-beta-150x150.gif" alt="programacion beta 150x150 Relanzando Programacion en Castellano en beta" width="150" height="150" //aActualización/strong: Ya está abierto oficialmente la Beta de a href="http://Programacion.com"Programacion.com/a con acceso también por a href="http://www.programacion.net"programacion.net/a y a href="http://www.programacion.es"programacion.es/a/p pDespués de meses, por no decir años, con un poco de abandono del proyecto strongProgramación en Castellano, SL./strong Volvemos a la vida y empezar nuevamente a actualizar de forma regular y aceptar contenidos de los más de 200.000 desarrolladores registrados, que desde ya pueden colaborar enviado noticias, artículos, código fuente, #8230; de todo tipo de contenidos a href="http://nuevo.programacion.com/php/"PHP/a, a href="http://nuevo.programacion.com/mysql/"Mysql/a, a href="http://nuevo.programacion.com/java"Java/a, a href="http://nuevo.programacion.com/asp/"ASP/a, a href="http://nuevo.programacion.com/html/"HTML/a, a href="http://nuevo.programacion.com/css/"CSS/a, a href="http://nuevo.programacion.com/ruby/"Ruby/a, #8230;/p pProgramacion.com, programacion.net o programacion.es, aun está en fase beta y para acceder antes del lanzamiento podéis hacerlo a través de stronga href="http://nuevo.programacion.com"http://nuevo.programacion.com/a/strong/p pstrongDeja aquí tus comentarios, esperamos mejorar poco a poco y mi hermano ya está trabajando en ello con el equipo de programación.br / /strong/p pOriginal Post / Entrada Original: a href="http://carrero.es"Carrero.es/a. Si quieres a href="http://juegosweb.com"Juegos Gratis/a disfruta aquiacute; o a href="http://decoracion2.com"decora tu casa/a.br/br/a href="http://carrero.es/programacion-beta/4782"Relanzando Programacion en Castellano en beta/a/p pa href="http://feedads.g.doubleclick.net/~a/96M1IbcIe41hxVpVLCqfXZUNyaI/0/da"img src="http://feedads.g.doubleclick.net/~a/96M1IbcIe41hxVpVLCqfXZUNyaI/0/di" border="0" ismap="true"/img/abr/ a href="http://feedads.g.doubleclick.net/~a/96M1IbcIe41hxVpVLCqfXZUNyaI/1/da"img src="http://feedads.g.doubleclick.net/~a/96M1IbcIe41hxVpVLCqfXZUNyaI/1/di" border="0" ismap="true"/img/a/pimg src="http://feeds.feedburner.com/~r/carrero/es/~4/6rVXKz2cU4I" height="1" width="1"/

HTML o WordPress

Si tienes dudas entre montar tu web en HTML o usar WordPress igual este argumentario te sirve. También sirve para adoctrinar a tus clientes si eres desarrollador.

Contenido exclusivo para suscriptores al Feed

¡Gracias por seguirnos a diario!. Premiamos tu fidelidad ofreciéndote habitualmente contenidos exclusivos. Hoy puedes descargar:

Clic aquí para iniciar la descarga Guía Domina tu Blog

¿Te gustó este post? ¡Compártelo! Bitacoras.com TwitThis Facebook Meneame Google Bookmarks del.icio.us Live Technorati Ping.fm Wikio Turn this article into a PDF! E-mail this story to a friend! Print this article!

Get Adobe Flash playerPlugin by wpburn.com wordpress themes