Mudando mi WordPress.com Blog a mi nueva casa

Hace un par de días hice un cambio y ahora mi blog estará disponible en edwinvaldez.com. Estaré realizando modificaciones poco a poco y mientras tanto estará disponible el mismo tema que tengo aquí.

Anuncios

Hacer un calendario “sin” un calendario

Si eres de los que diseña un sitio en WordPress y no te gusta una “sidebar” automática por el hecho de que prefieres colocar tu propio contenido, entonces has llegado a un buen lugar para discutir algunas aplicaciones de sidebars manuales.

Una de las cosas que uno siempre quiere tener en una página de noticias es un calendario de próximos eventos. He encontrado una manera sencilla de incluir eventos futuros y ordenarlos como calendarios en el front-page del sitio y crear la actividad como un post más. Solo que cada uno de estos posts están categorizados como “calendario” y la fecha de publicación la cambio al día en que se realizará el evento (Lado derecho superior -> Opciones de “Publicar” -> Publicar Inmediatamente -> “Editar”). Inclusive, si se tiene una hora específica, se puede hacer la publicación futura con todos los datos necesarios.

Luego, con un WP_Query() se extraen los datos del post.

Se debe tomar en cuenta que como argumento de búsqueda, se debe utilizar 'post_status=future' y 'order=DESC' para que de esta manera obtengamos los resultados ordenados de “más próximos” a “mas lejanos”. Incluso, con otro WP_Query() podemos mostrar los últimos eventos ya realizados y mostrarlos antes de el próximo a realizarse.

$my_query = new WP_Query('post_status=future&order=DESC&showposts=5');
while ($my_query->have_posts()) : $my_query->the_post();
$do_not_duplicate = $post->ID; ?>
<?php echo the_date(); ?>
<?php echo the_title();
echo 'here';?>
<?php endwhile;?>

Como no repetir posts que ya aparecen en el front-page.php?

Con la nueva versión Release Candidate 3.0 de WordPress, se puede utilizar una página de inicio diferente a la contenedora del lazo principal y de esta manera poder personalizar de mejor manera nuestro sitio web.

Sin embargo, hoy estuve colocando algunas cosas en la página principal de uno de mis clientes y al inicio de esta, se encuentran una especie de “Titulares” (con etiqueta Titulares) que luego no quisiera mostrar nuevamente en el resto de la página (en una sección de la página muestro otros resultados de diversas categorías incluyendo “Titulares”). Luego de una búsqueda insaciable y de probar con diferentes opciones, llegué al sitio más lógico donde se debe llegar cuando se necesita ayuda con algún argumento de una función: WordPress Codex.

Con el argumento 'post__not_in' => array() es posible obtener resultador de un WP_query() sin los elementos específicos que le indiquemos al lazo. En mi caso, en cada “query” voy armando el arreglo de los elementos que estoy mostrando para así evitar mostrarlos nuevamente. El código es algo parecido a lo siguiente:

$titleImg = new WP_Query();
$titleImg->query('cat=3&showposts=5');
$i = 0;
$mainPostID = array();
while ($titleImg->have_posts()) : $titleImg->the_post();
$firstImage = ev_get_firstimage();
$curPostID = $post->ID;
$mainPostID[$i] = $curPostID;
$i++;
... Resto del código

Luego, llamo al arreglo $mainPostID en el próximo query:

<?php
$args = array (
'showposts'=>4,
'cat'=>-7,
'post__not_in'=>$mainPostID,
);
$miniNews = new WP_Query();
$miniNews->query($args);
while ($miniNews->have_posts()) : $miniNews->the_post();

Esta es una manera práctica de evitar posts iguales cuando no tenemos una separación por categorías en cierto Query.

XML en PHP o PHP en XML?

Hace unos días atrás, mientras configuraba Cu3er a través de el archivo XML que este trae, me surgió la duda si era posible automatizar este código con algunas funciones de PHP e inclusive, enlazarlo con WordPress para poder utilizar las funciones mismas de WP. Luegos de algunas horas de búsqueda y de intentos fallidos, supe que la respuesta a ambas preguntas era ¡Si se puede!.

Inicialmente, para que un archivo XML pueda utilizar PHP, el archivo mismo debe ser un archivo PHP. En este caso, el típico config.xml de Cu3ber pasó a ser wp_config_cu3er.php. Luego, al inicio del archivo, se debe colocar el header para que sea reconocido como un archivo XML:

header('Content-type:text/xml; charset=utf-8');

En mi caso, todo el archivo está en PHP y con echo´s he definido las etiquetas XML. No he probado hacerlo con funciones PHP seccionadas y dejar lo demás en texto. Finalmente, para que pueda trabajar con las funciones de WordPress, se debe incluir luego del header, una llamada al archivo de configuración inicial de WP:

include('wp-config.php');

Sin embargo, probé el archivo varias veces pero no lograba correrlo desde la carpeta de mi tema hasta que di con una solución bastante sencilla: lo coloqué en el directorio principal de WordPress y lo enlacé desde el Cu3er llamandolo a su ubicación por URL:

http://www.example.com/wp_config_cu3er.php

De esta manera, el app de Cu3er funciona de maravilla y no se siente ningún retraso por esta configuración. Recomiendo que antes de modificar el archivo con funciones, a este se le coloque el header de XML y la llamada al wp_config y se suba al directorio. Una vez allí, actualizar cada modificación y chequear el archivo corroborando que aparezcan todas las etiquetas que queremos sin errores. Cualquier minimo error que tenga el archivo, hará que Cu3er no funciones apropiadamente. Para la prueba del archivo, prefiero hacerlo en Mozilla Firefox ya que este define de mejor manera que función tiene algún error y si no aparece directamente en el navegador, en la opción de “codigo fuente” siempre aparece la linea que quebró al código.

Luego de unos días de silencio

Luego de unos días en silencio, he realizado algunas modificaciones en WordPress para adaptar el tema al medio noticioso. Con la ayuda de Codex (el área de WordPress.org para desarrolladores) y buscando una gran cantidad de información de distintos diseñadores, las cosas marchan bien aunque es un poco frustrante entender de buenas a primeras la programación completa que ofrece la plataforma.

Sin embargo, con algo de paciencia y practica, se llega a modificar el código rapidamente. Para esto, seguí algunos pasos prácticos dados por el amigo Nick La en su blog “Web Designer Wall” (el mismo creador de BestWebGallery. Básicamente se trata de realizar todo el diseño en una hoja HTML de trabajo (yo la llamé workfile.html) y luego llevar este código a las diferentes partes de la estructura del tema de WordPress – header.php | index.php |footer.php -.

Para complementar un poco el código, utilicé algunas funciones ya definidas por WP en Codex. De esta manera, es totalmente personalizable con la hoja de estilos CSS cada uno de los elementos de la página. En entradas siguientes voy a colocar algunos ejemplos de los códigos utilizados y también de como mudar todo el sitio a otro host.

Publicado con WordPress para BlackBerry.

Twitter… En overload!

Hoy me sorprendió mucho el hecho Página de Inicio de Twitter frente a una sobrecarga en sus  servidoresde entrar a mi Twitter (@valdejaim) y encontrarme con una brillante ballena izada por pajaritos que me decia que Twitter tenía una sobrecarga en ese momento y que esperara un momento para volver a intentarlo. Asumo que con el boom de esta red social en el mundo y ahora en Venezuela (que ligado al fenomeno nacional del BlackBerry se hace indestructible), la herramienta debe tener este tipo de episodios de forma periódica.

Segunda prueba desde el Blackberry

Esta es mi segunda prueba desde el blackberry con algunos cambios en el software de WordPress para estos dispositivos. Aun no encuentro como cambiar la apariencia del blog (cuando es hospedado en WordPress) para navegadores móviles.

Quiero probar algunas bondades multimedia que ofrece el software y ver como se ve desde el escritorio. Estoy incluyendo un video y una imagen para probar el auto resizing de WPM.

Nota posterior desde versión de escritorio: El video no se cargó. Pesaba 7mb y en dos oportunidades la aplicación móvil generó error. No hay una manera sencilla de que las imágenes queden centradas desde WPM. Se debe retocar luego desde el escritorio del WPPC o en su defecto, una vez publicada la entrada, volver a abrirla desde WPM y editar las líneas de código HTML que aparacen en el lugar donde debe ir la imágen y agregarle los atributos deseados como eliminar el marco, centrar, cambiar el tamaño o colocar el código dentro del texto para que quede embebida dentro del texto. Finalmente, al buscar el archivo multimedia en el BlackBerry, se debe pulsar la tecla RIM y luego “seleccionar” en lugar de simplemente hacer click sobre la imagen.

Actualización 03JUN2010 -> Se puede llevar la imagen a cualquier lado del post cambiando los valores CSS en la línea de edición de WPM.