Añadir extensiones (.html o .php) a páginas WordPress

html

Añadir una extensión a la URL de las entradas en WordPress, aunque supongo que ya lo sabes, es tan simple como ir a ‘Ajustes -> Enlaces permanentes‘, ahí eliges la opción de ‘Estructura personalizada‘ y pones /%postname%.html o /%postname%.php, lo que más te guste.

Ahora bien, esta configuración no afecta a las páginas, que quedarán del tipo /%postname%, más feúchas si lo quieres así.

Pero bueno, ya sabes que todo tiene solución sencilla …

Para ello nos valdremos, para no liarnos, de un par de plugins a elegir:

Y no hay nada que hacer, instalas el que necesites, lo activas y ya lo tienes. Creo que huelga decirlo pero por si acaso solo comentar que no funcionan bien si instalas ambos al mismo tiempo.

Simple y efectivo.

Ha sido un placer :)

Entradas recientes de toda la red en WordPress multisitio

Si has creado una red con WordPress y los sitios de la misma comparten temática, o simplemente quieres dar reflejo de la actividad de la red en todos los sitios, puedes crear una lista de las entradas más recientes de todos los sitios de la red.

Eso si, no hay una función interna en WordPress para hacerlo pero puedes ayudarte de la clase $wpdb database. Con ella puedes crear una petición a la base de datos de las últimas entradas de toda tu red.

Pero hay un pero, y es que esta petición SQL es bastante grande, para controlar este comportamiento usaremos la API Transients, de manera parecida a como se usa en la función wp_list_sites().

Lo primero que tenemos que hacer es añadir la función wp_recent_across_network() al archivo functions.php de tu tema activo. Lo haremos así:

/**
 * Lista de entradas recientes en toda la red Multisitio
 *
 * @uses get_blog_list(), get_blog_permalink()
 *
 * @param int $size El número de resultados a obtener
 * @param int $expires Segundos hasta que expire la cache transient
 * @return object Contiene el blog_id, post_id, post_date y post_title
 */
function wp_recent_across_network( $size = 10, $expires = 7200 ) {
   if( !is_multisite() ) return false;

   // Se cachean los resultados con la API Transients de WordPress
   // Obtenemos una copia existente de nuestros datos transient
   if ( ( $recent_across_network = get_site_transient( 'recent_across_network' ) ) === false ) {

      // Si no hay transient regeneramos los datos y guardamos una nueva transient
      // Preparamos la query SQL con $wpdb
      global $wpdb;

      $base_prefix = $wpdb->get_blog_prefix(0);
      $base_prefix = str_replace( '1_', '' , $base_prefix );

      // A causa de que la función get_blog_list() está actualmente abandonada
      // debido al alto consumo de recursos usaremos
      // $wpdb para ejecutar nuestra query SQL. Como la query puede
      // consumir mucha memoria almacenaremos los resultados usando la API Transients
      if ( false === ( $site_list = get_site_transient( 'multisite_site_list' ) ) ) {
         global $wpdb;
         $site_list = $wpdb->get_results( $wpdb->prepare('SELECT * FROM wp_blogs ORDER BY blog_id') );
         set_site_transient( 'multisite_site_list', $site_list, $expires );
      }
      $limit = absint($size);
      // Unificamos los resultados de wp_posts en todos los sitios del Multisitio en un solo resultado con MySQL "UNION"
      foreach ( $site_list as $site ) {
         if( $site == $site_list[0] ) {
            $posts_table = $base_prefix . "posts";
         } else {
            $posts_table = $base_prefix . $site->blog_id . "_posts";
         }

         $posts_table = esc_sql( $posts_table );
         $blogs_table = esc_sql( $base_prefix . 'blogs' );

         $query .= "(SELECT $posts_table.ID, $posts_table.post_title, $posts_table.post_date, $blogs_table.blog_id FROM $posts_table, $blogs_table\n";
         $query .= "\tWHERE $posts_table.post_type = 'post'\n";
         $query .= "\tAND $posts_table.post_status = 'publish'\n";
         $query .= "\tAND $blogs_table.blog_id = {$site->blog_id})\n";

         if( $site !== end($site_list) )
            $query .= "UNION\n";
         else
            $query .= "ORDER BY post_date DESC LIMIT 0, $limit";
      }

      // Un poco de limpieza y ejecutamos la query
      $query = $wpdb->prepare($query);
      $recent_across_network = $wpdb->get_results( $query );

      // Ajustamos la cache Transients para que espire cada dos horas
      set_site_transient( 'recent_across_network', $recent_across_network, 60*60*2 );
   }
   // Damos formato a la salida HTML
   $html = '
    '; foreach ( $recent_across_network as $post ) { $html .= '
    ' . $post->post_title . '
    '; } $html .= '
';
   return $html;
}

El uso de esta función en tu tema es bien sencillo. Eso si, asegúrate de comprobar el valor return en la salida HTML para evitar conflictos con instalaciones que no sean multisitio.

Ya solo nos queda añadir el código que recupere los datos de la función en nuestro tema, algo así:

<?php
// Mostramos las entradas recientes de toda la red
$recent_network_posts = wp_recent_across_network();
if( $recent_network_posts ):
?>
<?php echo $recent_network_posts; ?>
<?php endif; ?>

Fuente: Smashing magazine

Humans.txt

¿A que ya conoces el fichero robots.txt?. Si hombre, ese archivo que usamos para decirle a los robots de los buscadores cosas sobre nuestro contenido.

Pero ¿a que no sabías que también podemos crear un fichero humans.txt con el que decirle a todo el mundo quien hay detrás de un sitio, las personas?.

Pues si, es una iniciativa de un grupo de programadores que pretenden crear un nuevo estándar y que, además del típico robots.txt también todos los sitios tengan su humans.txt, un modo de humanizar la web.

¿Argumentos? …

  • ¿Donde se pone?: en el raíz de tu sitio, donde está robots.txt
  • ¿Por qué hacerlo?: por humanizar la web, pero no es obligatorio
  • ¿A quien pongo?: a quien quieras que participe, haya participado o ayude al sitio
  • ¿Hay algún estándar?: puedes partir de esta base, y ampliarla a tu gusto
  • ¿A quien se lo digo?: a quien quieras, una vez lo generes puedes añadirlo a la lista de humans.txt aquí e incluso declarar que lo tienes y promocionar este nuevo estándar con un logo de estos

Vale, ¿como lo hago? …

Así hombre:  Crea un archivo de texto llamado humans.txt (siempre en minúsculas) y codifícalo en UTF-8, evitarás problemas con caracteres multilingües y otros idiomas

También puedes hacer esto si quieres:

  1. Colocar en el <head> del sitio web una referencia al archivo: <link rel="author" href="humans.txt" />
  2. Para mantener una estructura visual básica, separar lo que es el equipo de humans de los datos del sitio web con los títulos bien referenciados con /*TEAM*/ y /*SITE*/
  3. Escribir los datos de cada human involucrado en el proyecto: cargo, nombre, forma de contacto, twitter, localización geográfica, ... (Para evitar problemas de S P A M, puedes evitar indicar directamente cuentas de e-mail con [at] en lugar de @.)
  4. Indicar también algunos datos del sitio, como la fecha de su última actualización (YYYY/MM/DD), idioma principal, su Doctype y las herramientas utilizadas para su desarrollo.
  5. Guardar y subir el archivo a la carpeta raíz del sitio web.
  6. Colocar el botón de humansTXT en alguna parte del sitio y enlazar tu humanstxt desde él.

¿más fácil?, pues también hay un plugin para WordPress.

Pues nada, a ¡hacer más humana la web! ¿ya tienes tu humans.txt?, yo si, está aquí.

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

2.400 blu ray de doble cara para almacenar un año de la comunidad WordPress

Si quisieras almacenar todas las publicaciones creadas en un solo año por la comunidad WordPress necesitarías 2.375 discos blu ray de doble capa, ahí es nada.

Este es uno de los datos que han recopilado en Broadband Choices y han incluido en una interesantísima infografía en la que, entre otros, se pueden leer estos también interesantes datos:

  • El 48% de las webs usan aún Flash
  • XHTML ya se usa más (65%) que HTML (36%)
  • El 28% de las webs tiene errores (404 o 503)
  • Solo el 2,63% de las webs usa HTML5
  • Google Analytics es la herramienta de medición  más popular (58%)
  • El 62% de Internet se aloja bajo Apache
  • Hay casi 165 millones de blogs
  • Para hacer backup de las entradas publicadas en un solo año por la comunidad WordPress harían falta 2.375 discos blu ray de doble capa
  • Aún el 46,9% de los usuarios usan Internet Explorer en alguna de sus versiones, el 30,8% usan Firefox y Chrome ya lo usan el 14,9% de los navegantes.

El resto de los datos en esta bonita infografía sobre ¿De qué están hechas las webs?


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

Personalizar la ayuda de WordPress

Hace tiempo que trabajamos el equipo de traducción oficial de WordPress en ofrecer una versión en español de España coherente, no a gusto de todos pero si útil para todos, mejorando los textos, haciéndolos más razonables y fáciles de adaptarlos a cada necesidad.

No obstante, hay ocasiones en que uno desea adaptar el escritorio de WordPress a necesidades concretas, bien para uno mismo o para clientes.

Pues ea, a esto me refiero, y el siguiente truco viene a ofrecer un modo de personalizar las pantallas de ayuda de WordPress, unos textos que, en principio, tratan de ofrecer una visión general de para qué sirve cada elemento de las páginas de administración, pero que en ocasiones pueden no ser útiles o simplemente queremos mejorarlas o ampliarlas.

Si es tu caso, en el siguiente código verás como personalizar la ventana de ayuda de la página de "Añadir nueva página", añadiéndolo al fichero functions.php de tu tema activo:

add_action('load-page-new.php','custom_help_page');
add_action('load-page.php','custom_help_page');
function custom_help_page() {
  add_filter('contextual_help','custom_page_help');
}
function custom_page_help($help) {
  // echo $help; // Quita la doble barra inicial de esta línea para que tu texto de ayuda se "sume" al ya existente, en este caso lo sustituye
  echo "<h5>Texto de ayuda personalizado</h5>";
  echo "<p>Aquí pones el texto o HTML que quieras.</p>";
}

¿Que quieres hacer lo mismo en la pagina de añadir nueva entrada u otra, pues solo tienes que sustituir las referencias a, en este caso load-page-new.php por load-post-new.php, y así sucesivamente.

Que lo disfrutes ;)

Issuu en WordPress.com

Quizás ya hayas utilizado el servicio de Issuu para ofrecer publicaciones online al estilo periódico, si no es así te lo recomiendo, incluso con la versión gratuita tienes una presentación de tus documentos muy profesional.

Entre sus virtudes está la principal de reformatear tus documentos para ofrecer una publicación electrónica, y lo hace muy bien, pero además te permite insertar el reproductor en cualquier sitio web … salvo en WordPress.com.

Pero el problema no es de Issuu sino de las restricciones de seguridad de WordPress.com, que no permite inserta códigos 'embed' por motivos de seguridad, ofreciendo 'shortcodes' para multitud de servicios y que así puedas compartir contenido dinámico de este tipo de servicios. Pero vaya, que no tiene shortcode para Issuu.

No te preocupes, puedes hacer un apaño que funciona de maravilla, es un poco engorroso pero funcionar funciona. Nos valdremos del shortcode de Gigya, que si funciona en WordPress.com. Vamos a ver como hacerlo …

Cuando quieres compartir un documento de Issuu te ofrece un icono con este aspecto, <>, que si le pulsas te ofrece multitud de posibilidades de incrustación. Pues bien, eliges el HTML y copias el código, te ofrecerá algo así:

<div><object style="width:420px;height:297px" ><param name="movie" value="http://static.issuu.com/webembed/viewers/style1/v1/IssuuViewer.swf?mode=embed&amp;layout=http%3A%2F%2Fskin.issuu.com%2Fv%2Flight%2Flayout.xml&amp;showFlipBtn=true&amp;documentId=110414131840-77b82a3dbd684b858b7dcef45f952183&amp;docName=programa_electoral_upyd_c-villalba&amp;username=UPyD_Collado_Villalba&amp;loadingInfoText=Programa%20Electoral%202011%20UPyD%20Collado%20Villalba&amp;et=1302793320416&amp;er=9" /><param name="allowfullscreen" value="true"/><param name="menu" value="false"/><embed src="http://static.issuu.com/webembed/viewers/style1/v1/IssuuViewer.swf" type="application/x-shockwave-flash" allowfullscreen="true" menu="false" style="width:420px;height:297px" flashvars="mode=embed&amp;layout=http%3A%2F%2Fskin.issuu.com%2Fv%2Flight%2Flayout.xml&amp;showFlipBtn=true&amp;documentId=110414131840-77b82a3dbd684b858b7dcef45f952183&amp;docName=programa_electoral_upyd_c-villalba&amp;username=UPyD_Collado_Villalba&amp;loadingInfoText=Programa%20Electoral%202011%20UPyD%20Collado%20Villalba&amp;et=1302793320416&amp;er=9" /></object><div style="width:420px;text-align:left;"><a href="http://issuu.com/UPyD_Collado_Villalba/docs/programa_electoral_upyd_c-villalba?mode=embed&amp;layout=http%3A%2F%2Fskin.issuu.com%2Fv%2Flight%2Flayout.xml&amp;showFlipBtn=true" target="_blank">Open publication</a> - Free <a href="http://issuu.com" target="_blank">publishing</a> - <a href="http://issuu.com/search?q=politica" target="_blank">More politica</a></div></div>

Pues bien, lo que tienes que hacer es insertar el 'shortcode' de gigya y añadirle lo que he resaltado en rojo, de este modo:

[gigya src="http://static.issuu.com/webembed/viewers/style1/v1/IssuuViewer.swf" type="application/x-shockwave-flash" allowfullscreen="true" flashvars="mode=embed&amp;layout=http%3A%2F%2Fskin.issuu.com%2Fv%2Flight%2Flayout.xml&amp;showFlipBtn=true&amp;documentId=110414131840-77b82a3dbd684b858b7dcef45f952183&amp;docName=programa_electoral_upyd_c-villalba&amp;username=UPyD_Collado_Villalba&amp;loadingInfoText=Programa%20Electoral%202011%20UPyD%20Collado%20Villalba&amp;et=1302792605642&amp;er=28" width="420" height="291" ]

La parte final del tamaño es personalizable a tu gusto.

Y ya lo tienes, funcionará a la perfección, como puedes ver en esta entrada donde lo he aplicado.

Por supuesto, en WordPress alojado no necesitas ningún truco, simplemente insertas el código que te ofrece, como cualquier otro sistema de incrustación de contenido.

Simple Tags vuelve al pasado

Si eres aficionado a utilizar el plugin Simple Tags y has visto que hay una versión nueva (beta 1, y 2) quizás deberías pensártelo antes de actualizar.

Y es que esta versión 2 en beta que nos ofrecen no incorpora avances como suele suceder sino que es una vuelta a la simplicidad, al pasado.

Lo que han hecho ha sido aligerar enormemente el peso y carga del plugin, eliminando muchas de las funciones que lo han hecho tan popular, algo que a mi modo de ver no han hecho del mejor modo, pero no me explayo hasta detallar los cambios:

  • Se quitan los marcadores
  • Se quitan las entradas relacionadas
  • Se quitan las etiquetas relacionadas
  • Se quitan las opciones de nofollow
  • Se quitan las etiquetas como palabras clave HTML
  • Se quitan la función para mostrar las etiquetas de la entrada actual
  • Se quita la opción de auto-añadir etiquetas
  • Se quitan las etiquetas incrustadas
  • Se cambia el método para las etiquetas por página

Por lo que se mejora el consumo de memoria, ya que todo se puede desactivar y se dejan de usar variables de clases para las opciones, además de utilizar las librerías AJAX de WordPress

Pues bien, entiendo que quieran aligerar de consumo de memoria el plugin, pero de ahí a quitar aquello que lo ha hecho tan popular, permitiendo eliminar otros plugins ya que este lo hacía incluso mejor, me parece el modo menos adecuado. Creo que habría estado mejor dejar todo sin instalar por defecto, como hace WordPress con el instalador de importadores, pero creo que es un error desactivar funciones que han hecho de este plugin uno de los más populares y recomendados, al menos para mi.

En consecuencia, que de momento pasa a mi lista de plugins a NO actualizar.

¿Lo has probado ya?

Nota: como en los comentarios muchos decís que “se os ha ido la mano y habéis actualizado”, os recuerdo que siempre podéis volver a instalar versiones anteriores desde la página del plugin (de cualquier plugin), en el enlace llamado “Other versions”. En este caso la página es esta y el enlace a la última versión “completa”, la 1.8, este otro.

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

Comprueba tu web con varios navegadores


browserlab Comprueba tu web con varios navegadores

Entre tanto navegador y estándares web muchos diseñadores y programadores nos volvemos locos a la hora de hacer que una página web funcione bien en cualquier sistema operativo y navegador. Y es que quien no sufre cada día que una web se vea igual en Firefox, Internet Explorer, Chrome, Opera, Safari, ….

Para facilitarnos el trabajo hay una serie de herramientas o aplicaciones online que permite realizar pruebas de como se ven nuestras páginas webs en diferentes navegadores y versiones de los mismos.

Aquí os dejo una pequeña lista:

  • BrowserLab de Adobe.
    Actualmente es mi preferido, aunque no los tiene todos, tiene los principales desde Internet Explorer 6, 7, 8 y 9 beta, firefox 2, 3 y 4 beta, Safari 4 y 5, chrome 8 y 9, …. Carga casi en tiempo real. Funciona bien en Windows, Linux y Mac.
  • Browsershots
    Otro servicio con una gran variedad de navegadores disponibles (algunos como Netscape, Flock, SeaMonkey, Konqueror, …), realmente completo. Es gratis pero igual desesperas con lo que tarda en generarse la captura. Siempre puede pagar 29,95 dólares para tener prioridad de carga. Además tienen parte de su código bajo licencia GPL para colaborar con las capturas.
  • Spoon
    Este permite además visitas interactivas con algunos navegadores como Chrome, Firefox y Opera (parece que Explorer por petición de Microsoft no está soportado). Es totalmente gratis. Aunque desde mi Mac se niega funcionar.
  • Browserling
    Ejecuta los navegadores en instancias virtuales para permitir interactividad. Ahora mismo es gratis durante el tiempo que dure su Beta pero necesitas registro para tener sesiones de 5 minutos si no quieres que tu sesión sea de poco más de 90 segundos. Tiene muy buena pinta y soporta Explorer, Firefox, Safari, Opera y Chrome. Y además funciona sin problemas en Mac.
  • Multi-Browser Viewer
    Programa para windows que requiere suscripción y permite probar tu web en más de 20 navegadores. Además tiene soporte para navegadores móviles. Se puede probar gratis, pero después tendrás que pagar. Creo que no merece la pena con las opciones gratis que existen.
  • IETester
    Para probar la compatibilidad de tus páginas webs con las antiguas versiones de Internet Explorer 5.5 hasta las nuevas, las 9.0.
  • BrowserSeal
    Otra opción para instalar en Windows y probar la compatibilidad de tu web con navegadores explorer, firefox, chrome, opera y safari. Es comercial aunque podéis probarlo.

¿Conoces más opciones para probar la compatibilidad de tu web en múltiples navegadores web?

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

Comprueba tu web con varios navegadores

Añadir tablas en WordPress de manera sencilla

Ya hemos visto varios modos de crear tablas en WordPress, a saber:

Pero, fíjate por donde, nunca hemos visto como hacerlo de la manera más fácil, con plugins. Vamos a ver los más sencillos de usar:

  • WP Table – Sencillo editor de tablas para WordPress. Olvídate de cuando el editor visual truncaba tus tablas creadas en HTML.
  • WP Table reloaded – Una versión del anterior que añade una página de creación de tablas de modo visual.
  • MCE Table buttons – Un plugin muy liviano que añade la fila de botones de gestión de tablas al editor por defecto de WordPress. Lo instalas, lo activas y lo tienes.
  • Tiny Table – Similar al anterior, devuelve al editor TinyMCE de WordPress la fila de botones de gestión de tablas que, por defecto, no tiene.
  • Easy table creator – Con este plugin se añade un botón que, al pulsarlo, se abre una ventana emergente en la que crear tu tabla. Sencillo y eficaz.
  • TinyMCE advanced – Sustituto del editor TinyMCE por defecto, con página de configuración en la que, por ejemplo, puedes añadir múltiples botones más, incluida una fila entera de creación y modificación de tablas, por supuesto.

Y te preguntarás ¿cual es mejor?, pues tu verás. Yo, ya puestos, usaría el TinyMCE advanced, pues también te ofrece otros interesantes y útiles botones que puedes añadir al editor. Pero vamos, lo mejor es que los pruebes todos y te quedes con el que más te convenza.

Forzar el editor por defecto (visual o HTML)

Si tienes algún sitio y quieres, por algún motivo, forzar a que el editor por defecto sea el HTML o el Visual solo tienes que añadir uno de estos códigos al fichero functions.php del tema activo:

PHP:
  1. # Editor HTML por defecto #
  2. add_filter('wp_default_editor', create_function('', 'return "html";'));

PHP:
  1. # Editor Visual por defecto #
  2. add_filter('wp_default_editor', create_function('', 'return "tinymce";'));

Guardas los cambios y ya lo tienes.