Buscar la primer imagen de la entrada automáticamente o vía custom field

Cuando construimos un home.php o un category.php en WordPress, nosotros podemos hacer llamadas al post extrayendo cierta información, en este caso hablaremos especialmente de las imágenes. Para la construcción de un home como el que SummArg tiene en este momento, necesitamos generar loops que extraigan imágenes y excerpts de las notas de ciertas categorías.  Para esto tenemos varias técnicas disponibles dependiendo de nuestras necesidades.

Catch_that_image()

Esta función busca la primer imagen en una entrada y la muestra. En caso de no encontrar ninguna, nos muestra una imagen por default.

Functions.php

// Get URL of first image in a post
function catch_that_image() {
global $post, $posts;
$first_img = '';
ob_start();
ob_end_clean();
$output = preg_match_all('/<img.+src=['"]([^'"]+)['"].*>/i', $post->post_content, $matches);
$first_img = $matches [1] [0];

// no image found display default image instead
if(empty($first_img)){
$first_img = "/images/default.jpg";
}
return $first_img;
}

Código en nuestra plantilla:

<img src="<?php echo catch_that_image(); ?>" alt="<?php the_title(); ?>" />

Catch_that_image() II

Si no deseamos insertar una imagen en una entrada, pero queremos hacer uso de una imagen personalizada, en vez de la default.jpg anteriormente propuesta, podemos modificar el código de catch_that_image() para que, al no encontrar una imagen en la entrada, la busque en los custom fields, más específicamente en el campo thumbs.

// Obtener la URL de la primer imagen en el post
function catch_that_image() {
global $post, $posts;
$first_img = '';
ob_start();
ob_end_clean();
$output = preg_match_all('/<img.+src=['"]([^'"]+)['"].*>/i', $post->post_content, $matches);
$first_img = $matches [1] [0];

// si no encuentra una imagen, que busque en el custom field 'thumbs'
if(empty($first_img)){
$first_img = get_post_meta($post->ID, 'thumbs', $single = true);
}
return $first_img;
}

Catch_that_image() + timthumb

Si queremos usar este hack con el script timthumb de Tim McDaniels simplemente debemos utilizar el siguiente código en nuestra plantilla home u otros.

<img src="<?php bloginfo('template_directory'); ?>/timthumb.php?src=<?php echo catch_that_image(); ?>&h=220&w=285&zc=1" alt="<?php the_title(); ?>" />

WP SmartImage de Darío Ferrer

Con este plugin, ideal para desarrolladores de themes, podemos trabajar extrayendo automáticamente las imágenes de las entradas. Éstas son las generadas por la propia plataforma en cuatro tamaños, de este modo nos aseguramos un manejo optimizado de las mismas, sin ralentizar la carga de nuestras páginas. Actualmente Darío ha llevado un paso más allá la herramienta permitiéndonos manejar variables de estilo con unos pocos clicks.

Al configurar las opciones del plugin, solo debemos ingresar en nuestras plantillas el código llamando a la función y veremos cómo la magia se hace sola.

Funciones de WP SmartImage y Uso -Descargar plugin del repositorio oficial

the_post_thumbnail()

A partir de WordPress 2.9, se nos brinda la opción de llamar a las miniaturas generadas por nuestra plataforma, tanto los tamaños por defecto, como asignados por nosotros. Para manejar los valores por defecto debemos ir a Opciones > Media.

Los parámetros.

<?php the_post_thumbnail( $size, $attr ); ?>

En donde $size corresponde al tamaño y $attr a los atributos que podemos aplicar.

Su uso

<?php the_post_thumbnail(); ?>

Y con las siguientes opciones indicamos diferentes tamaños.

the_post_thumbnail();                  // Sin parámetros -> Miniatura
the_post_thumbnail('thumbnail');       // Miniatura
the_post_thumbnail('medium');          // Tamaño medio
the_post_thumbnail('large');           // Tamaño grande
the_post_thumbnail( array(100,100) );  // Otro tamaño.

Mas info en el Codex de WordPress o en Bocabit.

Colocar nuestro logo en el Escritorio de WordPress

En el escritorio de WordPress (dashboard en su versión en inglés), en la esquina superior izquierda, tenemos un pequeño logo de la plataforma que puede ser cambiado desde tu theme con pocas líneas.

Primero deberán elaborar una imagen de 32px x 32px y la deberán subir vía FTP a la carpeta de imágenes de sus theme (ej. wp-content/tu-theme/images). Luego abrirán el archivo “functions.php” o crearán uno si no existe y agregarán el siguiente código:

<?php

/*Logo personalizado en tu escritorio */

add_action('admin_head', 'my_custom_logo');

function my_custom_logo() {
echo '
<style type="text/css">
#header-logo { background-image: url('.get_bloginfo('template_directory').'/images/logo.gif) !important; }
</style>
';
}

?>

Asegurense de modificar el nombre del archivo “.gif” para que coincida con el que elaboraron para esta finalidad. Si la ruta hacia vuestra imagen está bien colocada, entonces verán tu panel como en nuestra imagen.

Es un pequeño detalle que puede servir para entregar WordPress personalizado a un cliente. Lo vi en wprecipes.com

WP-Questions: Pagar por soporte para WordPress

Existe una nueva tendencia de intentar implementar el concepto de “contenidos premium”, sólo para aquellos usuarios que efectúen el pago de cierto abono por una atención mejorada de un servicio que suele ser gratuito para el resto de los usuarios. Cada empresa que incursiona en este tema, elabora multiplicidad de ventajas que podría ofrecer a los clientes que contraten el nuevo servicio de modo que resulte atractivo para la gente este tipo de membresías.

En cuanto a soporte para WordPress tenemos innumerables cantidades de blogs y foros con información gratuita para estar al día sobre los problemas que pueden surgirnos de la personalización de la plataforma. Sin embargo, no está todo dicho. No siempre la respuesta aparece, y si lo hace no siempre es en el tiempo que necesitamos. WP-Questions trata de romper con este esquema proponiéndonos pagar cuando necesitamos respuesta urgente.

¿Cómo funciona? Simplemente te registrás, formulás una pregunta y seleccionás lo que pagarás por la respuesta (mínimo de $4, máximo de $20). El resto de los usuarios del sistema enviarán respuestas, las cuales recibirás y en una fecha tope de tres días deberás seleccionar la correcta. WP-Questions se queda con una comisión del 9%, yendo el resto del dinero a la cuenta de quien formuló la respuesta elegida como correcta por el usuario que planteó la duda.

Está claro, que uno también puede registrarse para responder a otros usuarios y ganar un poco de dinero.

Cada vez son más los sitios que ofrecen contenidos premium y la posibilidad de hacer uno mismo algunos billetes. ¿Qué pensas de los contenidos pagos?

WP-Questions | Visto en AyudaWordPress

Traducción instantánea para WordPress

Ya es cosa sabida que existen traductores para varios idiomas que se instalan como plugins de WordPress, y el repositorio oficial está lleno de plugins relacionados a esto. Pero cuando necesitamos las dichosas banderitas en nuestro header, no sabemos cuál elegir, por eso hoy les vengo a mostrar como en pocos pasos podemos tener nuestro blog traducido en varios idiomas y con URLs amigables.

Este plugin me gusta porque nos permite editar a nosotros alguna traducción o dejarla 100% hecha por un robot. Además podemos usar el traductor de Bing. Por defecto utiliza el de Google.

1- Instalemos el Transposh

Desde WordPress.org descargamos este plugin, lo descomprimimos y subimos a nuestra carpeta wp-contents/plugins. Desde el panel de administrador, lo activamos y ya podemos ir a opciones > transposh para configurarlo.

2- Configurar el plugin

Desde la solapa de opciones seleccionemos los idiomas que queremos que estén disponibles e indiquemos qué idioma tenemos por defecto para que no intente traducir cuando sea clickeada la bandera de tal lenguaje.

  • En Widget Settings indiquemos que queremos la modalidad Flags.
  • Permitamos la traducción instantánea tildando Enable automatic translation.
  • Tildemos la opción para el URL rewrite si usamos permalinks.

Y listo, el resto de las configuraciones deben dejarse como están.

3- Agregar las banderas a nuestro header

El plugin viene pensado para funcionar en la sidebar como widget. Nosotros vamos a usarlo sobre el theme, en el header más específicamente.

Abrimos nuestro archivo header.php y colocamos:

<div id="flags">
<?php if (function_exists("transposh_widget")) {transposh_widget(array());} ?></div>

En el css del theme indicamos:

#flags {
float:right;
}

Y ¡listo! ¡Ya tendremos nuestras banderas listas listas! Clickeando cualquiera de ellas, y esperando unos momentos, el plugin comienza a traducir todo lo que encuentra en la página.

Página oficial del plugin transposh.org

Page Peel, Page Curl o esquinas que se despegan para WordPress

Estaba buscando algo que llame la atención sutilmente en un sitio WP y recordé este recurso que está presente en varios sitios desde hace algún tiempo. Las esquinas que se “despegan” cuando pasamos el puntero del mouse por encima para revelarnos una imagen de mayor tamaño y un link. Tenemos tres plugins para usar con cualquier theme de WordPress.

Page Cornr

Al pasar el puntero del mouse sobre nuestra esquina, se despliega una imagen de 300×300px, con un efecto realizado en jQuery.

Para su instalación descargamos el plugin desde Page Cornr WordPress.org, subimos el contenido del zip a nuestra carpeta wp-content/plugins y lo activamos desde el panel de administrador > plugins. Automáticamente aparecerá en “Opciones” la sección Page Cornr Options, desde donde modificaremos la URL a la que nos dirige al clickear dentro de nuestra imagen de la esquina.

En la carpeta del plugin veremos las imagenes que debemos reemplazar para que muestre lo que necesitamos.

Page Peel

Este Page Peel funciona con Flash, y realmente logra una animación muy bonita.

Podemos descargar el plugin desde Page Peel WordPress.org y subir el contenido del zip a wp-content/plugins, lo activamos desde el Tablero de WordPress y veremos cómo se añade a “Opciones” nuestra sección de Page Peel para configurar la URL a mostrar.

Las imágenes a reemplazar están dentro de la carpeta del plugin. Funciona con todos los navegadores. Sí, con IE8 también ¡Aleluya!

Page Peel BujanQWorkS

Finalmente este Page Peel lo podemos descargar desde este link, y su instalación es igual a los dos anteriores nombrados.

La animación está bien lograda y lo único que lamento de estos tres plugins es que ningún autor dejó un link a un demo para que ustedes puedan ver exactamente el efecto que quieren.

La esquina animada, reacciona al pasar con el puntero sobre la misma (hover) momento en que despliega la imagen más grande y permite que al hacer un click nos dirija a la URL deseada.

Preparar WordPress para la entrega a un cliente

… y el cliente a duras penas se entiende con el entorno de Hotmail. ¡Pero a no desesperar! Siempre hay algunas herramientas acá y allá para que el cliente no rompa su propio sitio y pueda utilizarlo con facilidad. Veamos que puntos tenemos que atender.

Verificar que el sitio esté listo para ser utilizado por usuarios finales.

Lo mejor es que realices por vos mismo una primera carga de contenidos con imágenes alineadas de diferentes formas y puedas “probar” cómo van a quedar las secciones que tienen templates personalizados. Listá por categorías, por tags, por fechas. Realizá búsquedas, ingresá a URLs incorrectas, buscá términos inexistentes, etc. De este modo podés comprobar que no te dejaste nada en el tintero.

Si estuviste usando el editor de themes de WordPress, tenés que devolver permisos 644 a los archivos del theme. Eliminá plugins que no vayas a utilizar. Igualmente vamos a encargarnos de que al cliente no le queden muchas opciones de romper todo, pero más vale prevenir que curar.

Simplificar el uso de Campos Personalizados.

Para alguien que no está todo el día con WordPressqué espanto! ¡No entiendo cómo pueden vivir asi!) el uso de los Campos Personalizados – Custom Fields – es engorroso y a menudo muy confuso. Generalmente no recuerdan que deben completarlos, en el caso de que nuestro theme los utilice, y cuando lo recuerdan… bueno, simplemente se olvidan de cómo completarlos.

Te recomiendo un plugin como Easy Custom Fields para insertar en pocos pasos nuevos recuadros con texto de autoría para que los usuarios ingresen el contenido del campo de modo más simple.

Tablero minimalista.

Todo lo que el usuario no deba utilizar, lo tenés que retirar de su vista. Asigná permisos de “Editor” o “Autor” al cliente e instalá un plugin como el adminimize, activalo y empezá a tildar en el rol asignado al cliente todo lo que NO querés que vea en el panel de control. Este plugin es realmente completo en ese sentido y te va a ayudar a simplificar las cosas al nuevo usuario. No te asustes si en su sitio ves todo en alemán, el plugin está en inglés.

Al tablero podés agregarle un plugin para ver estadísticas como el Google Analyticator, de modo de ofrecerle un pequeño y simple reporte sobre el día a día de su sitio. Como refuerzo podés enviarle reportes semanales automáticos del servicio de Google Analytics. Si están interesados en hacer un seguimiento del uso de Feedburner, tienen este otro plugin.

Y si notás que el cliente mira con cara fea el editor por defecto de WordPress para escribir artículos, entonces cargale el TinyMCE Advanced, con el que podrás acomodar el editor a gusto del consumidor, permitiéndote agregar muchos más botones para tener todo al alcance de un click.

Documentación.

Enviá por email (y entregaselos por escrito cuando sea posible) pequeños manuales con los procedimientos describiendo paso por paso lo que se debe completar para publicar una nueva noticia, agregar un trabajo al portfolio o administrar una galería de imágenes.

Suscribite a los feeds de su sitio y mantenete al tanto de sus publicaciones, para poder ingresar y observar si cometieron algún error. Cuando detectes cuáles son las omisiones más frecuentes, enviales recordatorios sobre el uso de las secciones olvidadas. Podés utilizar algún plugin para dejar notas en el dashboard para ayudarlos a publicar correctamente.

Al menos yo creo que una atención cordial. y manifestar frecuentemente preocupación por ver el sitio en crecimiento, te ayudará a lograr muchas recomendaciones.

Actualizá a WordPress 2.8.5 para evitar falla de seguridad en trackbacks

Hace pocos días se reportó una falla de seguridad bastante grave que permitía tirar el servidor en cuestión de pocos minutos, abusando de una vulnerabilidad en “wp-trackbacks.php”, sobre el cual podemos leer los detalles en este sitio. Actualizando a la última versión, salida hace pocas horas, eliminamos esta falla y otros bugs menores reportados.

Recordá que podés actualizar desde el Tablero de tu WordPress teniendo los datos de cuenta y password del FTP o bien hacerlo desde un cliente FTP cualquiera.

La versión que está para descargar está en su idioma de origen, seguramente en unos días más saldrá la versión con el lenguaje español actualizado, pero si ya tenés instalado WordPress en español podés actualizar sin problemas, el idioma no se arruinará.

Plugins para dejar notas en el dashboard

Las notitas en el monitor (o en cualquier punto estratégico de tu escritorio) son un clásico en todo el mundo. Siguen siendo un método muy efectivo para dejarle mensajes al compañero de trabajo o como recordatorio dirigido a uno mismo.

Y cuando comenzás a administrar un sitio en conjunto con otras personas, sentís en algún punto que estas notitas en el monitor te vendrían de diez para dejarles pequeños recordatorios a otros autores, editores y administradores.

Si, en cambio, administrás varios blogs vos solo, también puede servirte dejar notas en los correspondientes paneles de administración. Uno siempre tiene diferentes tareas para realizar en cada sitio, o indicaciones para saber qué campos personalizados se utilizan en ese theme, tareas de mantenimiento restantes o retoques en el estilo del sitio.

Les dejo algunos plugins y sus respectivas screenshots para que aprovechen.

Pre-Publish Reminders

El pre-publish reminders nos permite poner pequeñas y prácticas notas recordatorias en nuestro blog de manera muy sencilla.

Con solo subir los archivos a nuestra carpeta de plugins y activarlo desde nuestro panel de control, ya podremos comenzar a utilizar estas pequeñas anotaciones, que aparecerán en la solapa de creación de un post o página. Ocupa una pequeña sección de la página sin dificultar la visualización de las herramientas que necesitamos para publicar notas.

Ideal para dejarle mensajes y consignas a nuestros autores, ya que cada blog tiene sus medidas, sus campos personalizados y sus reglas internas de trabajo. Claro que también pueden servirte a vos mismo estos recordatorios.

WordPress Admin Notepad

Con este plugin nos trasladamos a un agregado que nos permite la inclusión prolija de más cantidad de texto en nuestro panel de administración. El WordPress Admin Notepad puede configurarse para que sea visto, o no, por los distintos roles de usuarios que maneja la plataforma, así como solicitarle que esté visible o escondido (recuerda nuestra acción) y el tamaño del panel.

Su instalación es muy sencilla y para comenzar a configurarlo, luego de activarlo desde la solapa plugins, tenemos que acceder al botón que crea en la esquina superior derecha.

Dashboard Notepad

Con este plugin veremos los mensajes ni bien ingresamos al panel de control, tal como nos muestra la captura de pantalla.

Podemos intercambiar textos y links, en uno o varios notepads (de uno a tres) que pueden funcionar de modo independiente. Incluso tenemos facilidades para cambiar el CSS de estos pequeños ayudantes, lo que lo hace entretenido :-P .

Podemos descargarlo desde este link.

Dashboard Notepad II

Si bien el nombre es el mismo, no tienen relación los autores de este plugin con el anterior. Este notepad es más sencillo que el anterior, sólo nos permite guardar notas, mostrarlas y configurar quiénes pueden verlas y quiénes editarlas.

Es ideal si necesitás algo muy sencillo pero que te ofrezca control sobre quiénes ven y escriben en él.

Podés descargarlo desde acá.

Dashboard Post-it

Otro plugin muy prolijo para dejarnos notas en el dashboard. Admite código html para dejar links y modificar el estilo de nuestro texto. Todos podrán leer las notas pero sólo los usuarios con permiso para editar el tablero podrán modificar las notas.

Muy simple y funcional.

Slider con tu contenido destacado de modo elegante

El Smooth Slider 2.0 es un plugin que ya tiene su trayectoria, pero ahora es relanzado con varias mejoras, entre las que contamos un panel de opciones muy completo y la posibilidad de ir tildando los posts / páginas que queremos incluir allí.

  • Se instala como cualquier plugin, subiendo el contenido del .zip a tu carpeta “wp-content/plugins”, lo activás y lo configurás desde su solapa de opciones.
  • Editá posts o páginas, tildando un casillero nuevo, que ahora nos aparece al final de cada página en su modo edición.
  • Insertá el código para desplegar el slider en donde vos quieras:
 <?php if ( function_exists( 'get_smooth_slider' ) ) {
get_smooth_slider(); } ?>

Las imágenes pueden ser ingresadas vía custom field o dejar que el plugin la tome del contenido, y también podremos determinar un tamaño fijo o permitir que tome el tamaño original de la imagen, con lo que podremos manejarlas independientemente.

Y además de ser simple de instalar y de utilizar, está optimizado para buscadores.

Uno de los mejores sliders que encontré hasta ahora, muy recomendable.

Web del autor: http://www.clickonf5.org/smooth-slider

Adiós WordPress MU

Nada más ni nada menos. WordPress MU será eliminado, y la función de permitir que cada usuario tenga su blog, será incluida en WordPress. Eso fue lo que se dijo en el WordCamp España 2009, según nos lo cuenta Fernando Tellado.

La función “multiblogs” pasaría a activarse desde el panel de control como si fuera un plugin más, en donde nos aparecerán las opciones específicas de la funcionalidad.

WordPress MU fue un gran paso para gestionar redes de blogs, pero lamentablemente siempre estaban un paso atrás. Las actualizaciones importantes que incluían nuevas funciones se realizaban meses después de hacerlo para WordPress. Había muchos conflictos con plugins y muchos no están disponibles siquiera para la versión MultiUsers.

Ahora sabemos que para cuando se acerque el lanzamiento de WordPress 2.9 o 3.0, tendremos incorporada la función para habilitar la creación de varios blogs utilizando nuestra plataforma y se dejará de actualizar el MU.

WordPress y los Foros

En estos días escribí sobre el nuevo CMS de vBulletin, el Publishing Suite, que se integrará a los foros de esa compañía y al sistema de blogs. Con un usuario, dependiendo de sus permisos, se accede a una multiplicidad de opciones en las que se puede crear un thread, un blog, un evento, jugar, etc.

Los clásicos “portales” para integrar a un foro eran el php-nuke, el vbadvanced, etc. En tres sencillos pasos ya estaban listos para usar e integraban el theme (Skin o Style) de nuestro foro, permitiéndonos publicar como noticias algunos threads, agregando módulos a las barras laterales con funciones del foro y algunas nuevas. Pero lamentablemente no gozaban de actualizaciones frecuentes y se han visto afectadas por vulnerabilidades que tardaban mucho en ser parcheadas. El estilo estaba atado al del foro y eran rígidos para su modificación (hechos en tablas y sin mucha documentación ni comentarios). La variedad de módulos era bastante limitada y algunas modificaciones eran difíciles de realizar.

WordPress se convirtió en una gran opción para integrar a los foros y adaptarlos a nuestra necesidad con los puentes:

  1. Puente entre SMF y WordPress
  2. Puente entre vBulletin y WordPress
  3. Puente entre phpBB y WordPress
  4. Puente entre Invision IPB y WordPress

Pero ninguno de ellos funcionaba con WordPress MU, por lo que si queríamos ofrecer a nuestros usuarios el servicio de creación de blogs, teníamos que instalar WordPress MU aparte, se tenían que registrar nuevamente y comenzar con el tema.

Imaginemos un poco lo que será. Al tener la función de MultiUsers en WordPress, con un único registro nuestros usuarios podrán usar el foro, comentar en el blog sin tener que registrarse ni loguear nuevamente, escribir artículos, crear sus blogs. En el caso del puente con vBulletin, podemos asignar roles de WordPress a cada “Usergroup” de vBulletin. Sumado a las funciones de promociones básicas de la plataforma, podemos hacer de nuestro sitio una red muy interesante, en la que acumulando puntos de reputación, o posts o tiempo de antiguedad, podemos escalar permisos hasta poder crearnos nuestro propio blog.

Mi conclusión es que este cambio será muy beneficioso para los actuales usuarios de WordPress MU y para quienes usan o piensan en usar los bridges para sus comunidades.