Incrustar un archivo MP3 con enlace para descargar con shortcode…

Al parecer se me ha hecho costumbre lo de los shortcodes; el hecho es que estoy evitando lo más que pueda el uso de plugins; y basándome en los requerimientos que tengo para mi web, pues he elaborado un shortcode para incrustar archivos de mp3 con su respectivo enlace; es decir el reproductor en si para escuchar el audio y el enlace para descargar el archivo correspondiente.

El reproductor que he utilizado es el xspf la versión slim, es decir el modo simple; pueden descargarlo el siguiente enlace: Reproductor XSPF Versión Slim

El arhivo trae consigo el archivo .fla y el actionscript; pero el que vamos a utilizar es el el xspf_slim_player.swf que subimos a una carpeta de nuestro servidor; podría ser la carpeta music o la que deseen.

Utilizando Archivos de Servidor Externo

En el functions.php agregar el siguiente código:

/*REPRODUCTOR MP3 SERVIDOR EXTERNO*/
function musiclink($attr, $content) {
return '<div style="width:560px; border:1px solid #b5cedd; padding:10px; margin:10px 0 0 0;">
<div style="width:560px; height:20px; background:#b5cedd; float:left; margin-bottom:5px;"><div style="margin-left: 55px; text-transform:uppercase; color:#1b3e5c; font-weight:bold; width: 200px; float:left;">Reproducir</div>
<div style="float:left; text-align:right; margin-right:25px; width:150px; text-transform:uppercase; font-weight:bold; color:#1b35c;">Descargar</div>
</div>
<object type="application/x-shockwave-flash" width="180" height="20"
style="float:left; margin-left:10px;" data="http://dominio.com/ruta del reproductor/player.swf?song_url='. $attr['href'] .'&amp;player_&amp;song_"><param name="movie" value="http://dominio.com/ruta del reproductor/player.swf?song_url='.$attr['href'].'" /> </object><div style="text-transform:uppercase; font-weight:bold;"><a style="color:#1b3e5c; margin: 0 0 0 25px;" href="'. $attr['href'] .'">'.$content.'</a></div></div>';
}
add_shortcode('music', 'musiclink');

La utilización del shortcode es el siguiente:

[music href="http://dominio.com/ruta/completa/del/archivo.mp3"]Nombre del Archivo[/music]

Como ya le di formato en el mimo código, la visualización será de la siguiente manera:

 

Espero que les haya servido, lo pueden ver funcionando en http://www.contigoperusemanario.org/ringtones

NOTA: Tienen que cambiar http://midominio.com por su dominio o la ruta del reproductor.

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!

¿Qué es WordPress?

El otro día hablábamos sobre qué es un blog. Hoy nos toca repasar qué es WordPress, por si alguien que se esté iniciando en el mundo del blogging todavía no lo tiene claro.

WordPress es un sistema de publicación elegante y bien diseñado, programado en PHP y MySQL. Sus raíces y desarrollo empezaron en 2001, y actualmente es un producto totalmente estable. Hace especial hincapié en la facilidad de uso, la velocidad y una cómoda experiencia para el usuario final, tanto el que escribe como el que lee.

WordPress es distribuido conforme la licencia estándar GPL y para que funcione es necesario poseer un servidor que tenga soporte para PHP (4.2 o superior) y MySQL (3.23.x o superior).

WordPress viene con una gran cantidad de características incorporadas que nos permiten desarrollarnos fácilmente en cualquier tipo de blog. Además, disponemos de muchísimas extensiones que nos permitirán mejorar nuestro blog de forma fácil y eficaz.

Wordpress tiene una fácil administración de usuarios, con sus propios perfiles; una muy fácil instalación y actualización a nuevas versiones. Todas las páginas son generadas de forma dinámica, es decir, que la actualización del contenido o diseño se realiza de la forma más rápida posible. Además, dispones de una gran cantidad de idiomas para utilizar en tu WP.

WordPress también posee una gran comunidad activa, que es el corazón de cualquier proyecto de software de código abierto. Sigue los estándares web; es rápido, ligero y gratis; con una configuración y características muy bien pensadas y un núcleo extremadamente personalizable.

WordPress, en conclusión, es un buen sistema para gestionar tu blog. Fácil y muy eficaz para cualquier tipo de usuario, sea principiante o experimentado. Puedes crear tu usuario en WordPress.com para tenerlo alojado ahí, pero nosotros te recomendamos que te lo descargues de WordPress.org y lo instales en tu propio alojamiento, sea de pago o gratuito. ¡Podrás personalizarlo muchísimo más!

Fuente: WordPress

Servir páginas cacheadas de WordPress 30 veces más rápido con TMPFS

Desde hace medio año o así tengo como tema pendiente de tratar el uso de TMPFS para servir páginas web. Bien, ahora puedo decir me han quitado trabajo de encima ;P

AskApache ha publicado 30x Faster WP-Super Cache and Site Speed with TMPFS una entrada que relata de forma extensa –aunque un poco pesado para mi gusto, todo sea dicho– el asunto. Por ejemplo la sección “Hosting Company Tricks” es la típica explicación de overselling (aunque me pareció gracioso lo de usar una Xbox como servidor de hosting… y meter 100 clientes ahí xD). Voy a ofrecer un resumen.

Nota: esto lo podéis hacer en un servidor dedicado, particular, virtual o VPS. Muchos servidores compartidos no permiten editar ficheros fuera del $HOME. Asumo unos conocimientos mínimos de GNU/Linux y de Unix en general, cualquier duda preguntar.

¿Qué es TMPFS?

TMPFS es un sistema de ficheros disponible normalmente en sistemas unix-like que se monta en memoria volátil: normalmente RAM. Funciona a modo de “disco RAM”. Lo que escribes ahí se escribe en RAM, al desmontar TMPFS los datos se perderán.

TMPFS es un ramdisk que se puede expandir/contraer dinámicamente y que no usará prácticamente memoria si no contiene almacenados ficheros en él.

Todo lo que está almacenado en TMPFS es temporal en el sentido de que los ficheros creados en él no se crearán en el disco duro. Si una instancia de TMPFS es desmontada, todo lo almacenado en ella se perderá.

TMPFS mete todo dentro de las caches internas del kernel, crece o encoge para acomodarse a los ficheros que contiene y es capaz de enviar a la partición SWAP páginas no necesarias. El límite o tamaño máximo permitido se puede ajustar al vuelo mediante mount -o remount.

Si lo comparas con RAMFS (el cual fue usado como plantilla para crear tmpfs) ganas la capacidad de swapping y de comprobar límites. Otra cosa similar es el RAM disk (/dev/ram*) el cual simula un disco duro de tamaño fijo en la RAM física donde debes crear un sistema de ficheros ordinario. Los ramdisks no pueden hacer swap y no tienes la posibilidad de redimensionarlos.

Dado que tmpfs “vive” completamente en las páginas cache y en el swap, todas las páginas tmpfs actualmente en memoria aparecerán como cacheadas. No aparecerán como compartidas (shared) o algo similar. Puedes comprobar el actual uso de RAM+swap de una instancia tmpfs usando df y du.

¿Qué ventaja tiene?

La ventaja del hardware: acceder a un dato en RAM puede ser, perfectamente, 30 veces más rápido que acceder al mismo dato en un disco duro convencional. De ahí que se pueda servir páginas 30 veces más rápido.

Usando TMPFS para cachear

El método a mostrar es el de crear un sistema de ficheros para almacenar en él todas las páginas cacheadas por WordPress (en el artículo original habla de WP-Super Cache, pero funcionaría tranquilamente WP-Cache 2.0 o cualquier página estática que quisieramos servir). Los pasos a seguir son:

  1. Crear un sistema de ficheros TMPFS y montarlo en /wp-content/cache/
  2. Restaurar los ficheros cacheados con los reinicios.
  3. Mantener una copia semi-actual de los ficheros TMPFS en el disco.

Paso 1

Editamos /etc/fstab/ y añadimos el sistema de ficheros:

tmpfs /home/askapache/wp-content/cache tmpfs defaults,size=2g,noexec,nosuid,uid=648,gid=648,mode=1755 0 0

Aseguraos de cambiar /home/askapache/ por la dirección de vuestro blog (ie: /home/tuusuario/tudominio/wp-content/cache o lo que sea).

Paso 2

Añadimos una línea al /etc/rc.local que se ejecutará siempre al iniciar el sistema:

ionice -c3 -n7 nice -n 19 rsync -ahv --stats --delete /_b/tmpfs/cache/ /home/askapache/wp-content/cache/ 1>/dev/null

Paso 3

Añadimos una entrada de trabajo al cronjob (comando: crontab -e):

*/5 * * * * /usr/bin/ionice -c3 -n7 /bin/nice -n 19 /usr/bin/rsync -ah --stats --delete /home/askapache/wp-content/cache/ /_b/tmpfs/cache/ 1>/dev/null

Finalizando

La idea inicial ya se ve, crear un sistema de ficheros para datos “temporales” (caches, etcétera). Recomiendo la lectura del original para una visión más global ya que da ejemplos de otros ficheros que se pueden meter en un TMPFS como /var, /tmp, etcétera y también explicación de los párametros de montaje del tmpfs, bind mounts, etcétera.

,

Comentar Añadir a del.icio.us

Vaultpress: WordPress seguro garantizado

Vaultpress es un nuevo servicio lanzado por la empresa Automattic, que ofrece backup seguros de sitios WordPress. El sistema, que acaba de ser anunciado ahora mismo, admite peticiones de participar en la fase ßeta, lo que servidor ya ha hecho.

No hay información alguna de como lo hacen, solo se indica que - como conocen WordPress como nadie - asegurarán tu instalación, no solo el contenido, sino tus configuraciones y personalizaciones. En el fondo no es difícil adivinar que harán backup de tu base de datos, con todas sus tablas, y quizás los ficheros de configuración y hasta tu carpeta 'wp-content' (esto son solo elucubraciones mías) y facilitarán algún sistema mediante el cual, dando tu aprobación, accedan a tu servidor MySQL, harán backup de tu base de datos y, en caso de desastre, podrás recuperar tu configuración completa.

Planean cobrar 10$ por blog y mes, pero en la misma petición de beta-tester te piden que les sugieras un precio por el servicio.

¿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!

Archivo con miniaturas de entrada

En Dolcebita han creado un plugin estupendo, con el que generar un archivo de tu sitio creado con WordPress de un modo visual, muy atractivo, con miniaturas de las entradas si están disponibles. Le han llamado WP Timeline Archive.

Además, usarlo es bien sencillo, solo tienes que descargarlo e instalarlo (de momento solo a través de FTP) e introducir este shortcode en la entrada o página donde quieras que se muestre. En este ejemplo excluimos la categoría con ID 1:

PHP:
  1. [tla eid="1"]

Puedes verlo en acción en la página de archivo de dolcebita.

(Nota: en este momento no funciona el enlace de descarga, ya he avisado para que lo revisen)

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

¿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!

Comprobar si un campo personalizado está vacío

Si queremos imprimir (mostrar) los campos personalizados que hayamos creado únicamente cuando los hemos llenado (y por tanto evitarnos el código HTML que comúnmente les acompaña en los templates), aquí tenemos el código para hacerlo.

<?php $precio = get_post_meta($post->ID, "precio", true);
if ($precio !=''){
?>
	<div id="listar-precio">
		<h3>Precio</h3>
		<?php echo get_post_meta($post->ID, "precio", true); ?>
	</div>
<?php } ?>

Primero me hago con lo que hubiere en en campo “precio”, luego miro que no esté vacío y permito que se imprima.

En este caso, si estamos creando un magazine sobre conciertos y nuestros campos personalizados son del tipo:

  • Lugar: (valor que le hayamos dado al campo)
  • Fecha: (valor que le hayamos dado al campo)
  • Precio: (valor que le hayamos dado al campo)

Si en un cierto artículo no hemos rellenado esos campos por la razón que sea, no nos aparecerá la lista vacía. Tendríamos que repetir el código para cada elemento.

Atom vs RSS: al final que gane la simplicidad

Posible título alternativo: Cómo redirigir /foo a /foo/ sin meter un buen bucle.

Tiempo atrás, poco después de empezar el blog busqué y busqué alguna diferencia que hiciera realmente atractivo y necesario el disponer de dos formatos para hacer lo mismo.

Esta semana, decidí volver a utilizar servicios de lector de RSS online en lugar de mi aKregator. Si bien los “números” son algo más grandes, sigue viéndose el uso masivo de RSS frente a Atom. Por ejemplo en Google Reader:

  • /feed/ (RSS): 1.605 suscriptores.
  • /feed (RSS): 25 suscriptores
  • /feed/atom/ (Atom): 10 suscriptores.
  • /feed/atom (Atom): 0 suscriptores.

A destacar la segunda y cuarta línea, las cuales son un pequeño pero importante fallo de contenido duplicado (concretamente de urls canonicales) y una de las 200 variables a tener en cuenta por parte de los SEO.

Estos datos aunque a menor escala se repiten en otros lectores de feeds online (Bloglines 300 suscriptores RSS, 3 Atom, NetVibes 420 RSS y 0 atom, NewsGatorOnline 104 RSS y 2 Atom, etcétera).

Al final encontré un artículo que de titulo original no tiene nada: Atom vs RSS pero ya por el 2004 daba una respuesta bastante interesante intentando hacer una analogía. El autor lo plantea no como un “Beta vs VHS” si no un “DVD-RW vs DVD+RW”. Las aplicaciones los usan como si fuera uno sólo, de cara al usuario medio no hay diferencias y salvo “casos raros” de incompatibilidades al final usar uno u otro resulta prácticamente lo mismo.

Por lo que finalmente tomé la decisión de redirigir todo hacía /feed/. Mejor tener una dirección única para todo:

# Feeds unification
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^feed$ feed/ [R=301,NC,L]
RewriteRule ^feed/atom$ feed/ [R=301,NC,L]
RewriteRule ^feed/atom/$ feed/ [R=301,NC,L]
</IfModule>

Si el objetivo fuera sólo añadir el “/” final a los dos formatos sólo haría falta 2 RewriteRule:

RewriteRule ^feed$ feed/ [R=301,NC,L]
RewriteRule ^feed/atom$ feed/atom/ [R=301,NC,L]

Nota: es posible que las mejoras de URLs canonicales en WordPress ya hagan esto, cosa que no he comprobado (recordad, yo uso una versión bastante modificada de WP ;P).

, , ,

Comentar Añadir a del.icio.us

GMail en WordPress

Si ya eres de los que pasan más tiempo en el escritorio de WordPress que en cualquier otro sitio de Internet con este plugin casi seguro que no abandonas tu zona de administración.

Y es que My GMail es un paso más en la integración de servicios dentro del escritorio de WordPress. Si ya vimos como tener tu propia lista de tareas, o incluso tuitear desde WordPress, ahora podrás revisar tu correo de GMail sin salir de WordPress. ¿Qué te parece?

¿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!

¿Qué es el blogging?

En TodoWP.org siempre hablamos de WordPress, la plataforma por excelencia para publicar un blog. Pero… ¿qué es el blogging? En esta entrada haremos una introducción a los conceptos más importantes que cualquier blogger debería tener meridianamente claros.

Los blogs, o bitácoras web, son sitios web que mantienen información organizada básicamente de forma cronológica y que se renuevan periódicamente. El autor del blog publica artículos y, habitualmente, ofrece la posibilidad al resto de usuarios de Internet de comentar sus artículos con sus ideas y opiniones. Pueden ser de temas generales, pero en muchos casos se centran en un tema específico (Internet, deportes, política, noticias…). También hay un gran número de blogs personales, donde el autor presenta su vida diaria, sus ideas, sus intereses o las cosas que le gustan.

En general, los blogs tienen un área de contenido principal con artículos organizados de forma cronológica. También es habitual organizarlos por categorías según su tema principal. Algunos blogs tienen múltiples autores que, habitualmente, componen sus artículos utilizando una interfaz web, como la que nos proporciona WordPress.

Cosas que los bloggers necesitan saber:

  • Archivo: un blog es una buena manera para tener un archivo basado en fechas, de forma mensual o anual. Podemos ofrecer, de forma habitual, un calendario con todos los artículos publicados en un periodo de tiempo determinado. También podemos archivar los posts por autor, alfabéticamente, etc.
  • Sindicación de feeds: es una función del software de muchas plataformas de blogs. De esta forma, permitimos a los lectores de feeds acceder a nuestro sitio automáticamente, comprobar si hay contenido nuevo y, en caso de que lo haya, informar a nuestros visitantes de las actualizaciones. Es una forma muy habitual de seguir las páginas web y, en concreto, los blogs.
  • Blogroll: sección de enlaces de nuestro blog. Habitualmente, está ubicado en alguna barra lateral y, en general, se muestran enlaces a otras páginas que puedan interesar a los usuarios de nuestro blog. WordPress incluye una gestión de enlaces bastante sencilla, pero eficiente.
  • Administración de comentarios: Según mi opinión, la característica más interesante de las herramientas para blogging son los comentarios y la interacción de tus visitantes. Aún así, tienes que saber que tu blog es sólo tuyo, así que eres tú quién decidirá la política de comentarios en tu sitio web. Te recomiendo que, en general, seas abierto a todo tipo de comentarios, especialmente a las críticas constructivas, pero no dejes pasar comentarios fuera de tono que puedan incomodar al resto de visitantes. ¡Controla el SPAM!
  • Trackbacks y pingbacks: enlaces a artículos en otros blogs. A veces es interesante separarlos de los comentarios, algunas plantillas prediseñadas lo hacen, otras no. ¡Tú decides! La diferencia esencial entre Trackback y Pingback es que el primero debe hacerse manualmente y puede mandar contenido y el segundo en general es automático y no contiene contenido, sólo la información de que el artículo ha sido enlazado desde otro sitio web.
  • Post slugs – permalinks: es el título de un artículo que se publica en el enlace. Es importante que los enlaces a tus artículos sean semánticos, es decir, que contengan información sobre tu artículo. En la mayoría de software para blogs, incluido WordPress, es muy fácil de modificar en la página donde se editan las entradas.

¿Resaltarían algún concepto más que crean esencial en el mundo del blogging? Si tienen cualquier duda, ¡no duden en preguntar!

Fuente: Introducción al Blogging

Instalar plugins y temas sin poner datos de FTP

Seguramente te habrá sorprendido que, según el servidor en que te encuentres, unas veces se te piden datos de acceso FTP para instalar y actualizar plugins o temas, y otras veces el proceso es automático sin preguntarte nada.

Pues bien, si te parece un engorro tener que andar poniendo los datos de ftp, que de paso es un fallo de seguridad si usas un ordenador compartido ya que el navegador almacena las contraseñas, puedes evitarlo de dos maneras, tu eliges cual:

Auto FTP

Con este plugin, una vez lo instalas y activas, solo tienes que añadir tus datos de acceso FTP para que ya no tengas que volver a introducir estos datos cada vez que quieras instalar o actualizar plugins y temas. Ahora bien, el problema de seguridad sigue ahí, pero en comodidad ganas un rato.

WP Config

Mucho mejor es definir unas variables nuevas en el fichero de configuración de WordPress wp-config.php. Solo tienes que añadir las siguientes líneas:

PHP:
  1. define('FS_METHOD', 'ftpext'); // fuerza el modo de sistema de archivos: "direct", "ssh", "ftpext", o "ftpsockets"
  2. define('FTP_BASE', '/ruta/de/wordpress/'); // ruta absoluta al directorio raiz donde está instalado WordPress
  3. define('FTP_CONTENT_DIR', '/ruta/de/wordpress/wp-content/'); // ruta absoluta al directorio "wp-content"
  4. define('FTP_PLUGIN_DIR ', '/ruta/de/wordpress/wp-content/plugins/'); // ruta absoluta al directorio "wp-plugins"
  5. define('FTP_PUBKEY', '/home/username/.ssh/id_rsa.pub'); // ruta absoluta a tu clave pública SSH
  6. define('FTP_PRIVKEY', '/home/username/.ssh/id_rsa'); // ruta absoluta a tu clave privada SSH
  7. define('FTP_USER', 'usuario'); // tu usuario FTP o SSH
  8. define('FTP_PASS', 'contraseña'); // contraseña del usuario FTP_USER
  9. define('FTP_HOST', 'ftp.dominio.tld:21'); // combinación de puerto:servidor a tu servidor SSH/FTP

Como siempre, tu eliges.

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!