Cómo se montó menéame en Amazon EC2

Ricardo Galli explica en su blog, como montó Menéame usando Amazon EC2. Una lectura recomendad ya que este tipo de experiencias no se tienen todos los dias, y que alguien lo comparta te da una idea que que hacer en caso de que algún día necesites una infraestructura similar.
Por : David           comentarios 2

Videotutorial para crear themes de WordPress con Adobe CS4

Wordpress

David | 11/01/2010

Vía AyudaWordpress me encuentro con este videotutorial, o mejor dicho videocurso, para aprender a crear themes de WordPress con la suite de programas de Adobe CS4. Son dos videos de 120 minutos aproximadamente, en total unas 4 horas. Muy buen material.

Videotutorial para crear theme de WordPress a continuación..


Mostrar publicidad solo en posts antiguos en WordPress

Wordpress

David | 9/01/2010

adsense

El otro día estaba poniendo un poco de publicidad en el blog, que estamos en crisis y pagar el alojamiento, aunque no sea muy caro, no es algo que anime a nadie a escribir.
La idea era mostrar publicidad en los posts con cierta antiguedad, para molestar menos a las personas que siguen el blog con frecuencia.
Buscando un poco encontré en WPRecipes una receta muy buena y sencilla de implementar.

Pegar la siguiente función en el fichero functions.php:


function is_old_post($post_id=null){
   $days = 15;
   global $wp_query;
   if(is_single() || is_page()) {
      if(!$post_id) {
         $post_id = $wp_query->post->ID;
      }
      $current_date = time();
      $offset = $days *60*60*24;
      $post_id = get_post($post_id);
      $post_date = mysql2date('U',$post_id->post_date);
      $cunning_math = $post_date + $offset;
      $test = $current_date - $cunning_math;
      if($test > 0){
         $return = true;
      }else{
         $return = false;
      }
   }else{
      $return = false;
   }
   return $return;
}


Después de haber pegado la función en el fichero functions.php, puedes introducir tu código de adsense, o cualquiero otro proveedor de publicidad, en tu theme (por ejemplo en el fichero single.php) de la siguiente forma:


<?php if(is_old_post()){ ?>
    PON TU PUBLICIDAD AQUÍ
<?php } ?>

De esta forma se mostrará la publicidad en los posts con una antiguedad mínima de 15 días. Puedes modificar la variable $days a tu gusto para que no sean 15 días, sino los que se acomoden a tus necesidades.

Por cierto, lo de la imagen no es lo que gano al día con adsense.


Symphony: CMS open source basado en XSLT

Symphony es un CMS open source que usa PHP, MySQL como motor de BBDD y XSLT como sistema de templating, de esta forma, si ya dispones de conocimientos de XSLT no te costará nada empezar con este CMS. Sus requerimentos son PHP 5.2+, MySQL 4.1+, módulo LibXML con la extension XSLT activada.
Por : David           Comentarios desactivados

SpriteMe, herramienta para crear CSS Sprite fácilmente

CSS, Recursos

David | 7/01/2010

Hoy he descubierto Sprite me, una herramienta muy práctica que facilita enormemente la tarea de optimización de páginas web mediante la técnica CSS sprite. La herramienta detecta todas las imágenes de fondo asignadas con CSS mediante la propiedad background-image, y las muestra en una caja. Utiliza firebug lite para inspeccionar las imágenes y proporcionar más información al desarrollador.

Una vez seleccionadas las imágenes que queremos agrupar en una, solo tenemos que pulsar sobre “Make Sprite”, lo que generará una nueva imagen que compone a todas las imagenes anteriores. Después pulsando sobre “export CSS” podremos obtener el código CSS necesario para implementar en el sitio que estamos optimizando.

Spriteme puede ejecutarse en cualquier sitio web como un bookmarklet, añadiendo la URL de la aplicación a favoritos y pinchando sobre el marcador en el sitio que quieres optimizar.

Te recomiendo que sigas el pequeño tutorial que hay en el sitio web de SpriteMe para aprender el funcionamiento de la aplicación.

Haz click aquí para ejecutar Sprite Me, y guarda el enlace en favoritos si quieres ejecutarlo en cualquier sitio web.


5 trucos para usar jQuery con WordPress

Javascript, Wordpress

David | 4/01/2010

Cuando creas un theme o plugin para WordPress, muy frecuentemente se requiere usar jQuery (o cualquier otro framework javascript). WordPress tiene un API para manejar los ficheros que se incluyen, tanto scripts como estilos.

Estos son unos cuantos trucos muy útiles a la hora de usar javascript con WordPress.

Usa wp_enqueue_script()

La forma en que se incluye un script javascript en HTML es con el tag script. Incluir jQuery directamente sobre el theme con el tag script puede causar muchos conflictos. La manera correcta de hacerlo es:


function mi_inicio() {
	if (!is_admin()) {
		wp_enqueue_script('jquery');
	}
}
add_action('init', 'mi_inicio');

De esta forma se incluye la última versión de jQuery. Con la instalación de WordPress se incluye la última versión de jQuery en el directorio wp-includes/js/jquery, así como otros frameworks conocidos.
Este código debe ser añadido en el plugin que estés desarrollando, o en el fichero functions.php de tu theme. La función is_admin se ejecuta para evitar que se incluya jQuery en tus páginas de administración.
Puedes encontrar más información sobre la función wp_enqueue_script en Anieto2K.

Cargar jQuery en WordPress desde el CDN de Google

La llamada a la función wp_enqueue_script(‘jquery’) cargará la última versión de jQuery, que se encuentra en el directorio wp-includes/js/jquery. Si deseas cargar jQuery desde el CDN de Google, deberás de usar el siguiente truco:


function mi_inicio() {
	if (!is_admin()) {
		// comment out the next two lines to load the local copy of jQuery
		wp_deregister_script('jquery');
		wp_register_script('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js', false, '1.3.2');
		wp_enqueue_script('jquery');
	}
}
add_action('init', 'mi_inicio');

Hay varios motivos por los que cargar el framework javascript desde los servidores de Google.

También existen plugins que ya hacen este trabajo, como el plugin Use Google libraries.

Cargar  jQuery al final del theme

Por defecto, cuando se usa la función wp_enqueue_script, se añade el script en la sección head del documento HTML. Puede ser que te interese incluir el framework javascript al final, justo antes de que se acabe el body, para disminuir la velocidad con que carga la página. En este caso debes de usar el parámetro $in_footer de la función wp_register_script. Puedes ver el código modificado a continuación.


function mi_inicio() {
	if(!is_admin()) {
		wp_deregister_script('jquery');

		wp_register_script('jquery', '/wp-includes/js/jquery/jquery.js', false, '1.3.2', true);
                //Con este código se cargaría en el pie, pero usando el API de Google
		//wp_register_script('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js', false, '1.3.2', true);

		wp_enqueue_script('jquery');
	}
}
add_action('init', 'mi_inicio');

En el último parámetro se pasa un true que indica que el script se cargue en el pie de página.

Añadir jQuery como una dependencia

Si tienes un script que has desarrollado (theme.js), y este a su vez hace uso de otros scripts u otros frameworks (jQuery), es buena idea cargarlos como dependencia del script que estás creando, de esta forma se asegura que siempre se cargarán antes al ser una dependencia.


function mi_inicio() {
	if (!is_admin()) {
		wp_deregister_script('jquery');
		wp_register_script('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js', false, '1.3.2', true);
		wp_enqueue_script('jquery');

		// cargar el fichero js de mi theme: js/theme.js
		wp_enqueue_script('my_script', get_bloginfo('template_url') . '/js/theme.js', array('jquery'), '1.0', true);
	}
}
add_action('init', 'mi_inicio');

En el tercer parámetro pasamos un array con el conjunto de dependencias que queremos cargar para ese script, en este caso jQuery.

Usar jQuery adecuadamente

El framework jQuery incluido con WordPress llama automáticamente a la función jQuery.noConflict(). Esto provoca que la forma habitual de ejecutar la función jQuery, es decir, la función dolar ( $ ), por ejemplo $(‘id’).show() , no funcionará. Por el contrario, habrá que llamar a a la misma función de la siguiente forma: jQuery(‘id’).show().
Si estás usando el CDN de Google para cargar Javascript, es recomendable hacer la llamada a noConflict de forma manual para evitar posibles conflictos en el futuro.
Si quieres seguir usando la función dolar, puedes usar el siguiente código a modo de espacio de nombres:


jQuery(function ($) {
	/* Puedes usar $ con seguridad para hacer referencia a jQuery */
});

Sabiendo estos trucos se tiene una comprensión muy buena (y necesaria) sobre como usar los ficheros Javascript en un theme de WordPress, algo imprescindible a la hora de crear un theme sin hacer “chapucillas”.

Fuente: Eric Martin


Feliz año 2010 a todos!!

General

David | 1/01/2010

Line of fireworks over black background

Desde mi humilde bitacora os deseo un feliz 2010 a todos.


Joomla compra Automattic, la empresa desarrolladora de WordPress

General, Joomla, Wordpress

David | 28/12/2009

Inocente!

inocente Este artículo es una inocentada con motivo del día de los inocentes. Ni OSM ha comprado WordPress ni nada por el estilo, era todo una broma. Un saludo ha todos y feliz navidad!!

Open Source Matters acaba de anunciar la adquisición de Automattic, la empresa que desarrolal WordPress.
Según el presidente de OSM, ambas llevaban bastante tiempo en conversaciones para llevar a cabo una fusión. La razón es que se estaban haciendo sombra el uno al otro, y siendo dos proyectos de software libre que usan la misma tecnología, la mejor decisión era unificar esfuerzos y crear un macroproyecto, con una macrocomunidad y de esta forma crear el CMS definitivo.

La última versión de WordPress será la 3.0, mientas que la de Joomla será la 1.6. Después de esto nacerá Joompress, nombre en clave del proyecto mientras se decide el nombre definitivo.

Joompress se desarrollará con el API orientado a objetos de Joomla 1.6 e incorporará elementos de WordPress como Gravatar, actualización automática del core y plugins, etc…

Pero la cosa no acaba aquí, Microsoft, que sigue muy de cerca los pasos de estos CMS de software libre, ha declarado, según palabras de Steve Ballmer, que semejante fusión es un atentado contra el libre mercado explicando a los periodistas que se trata de competencia desleal, al mismo tiempo que infringe las leyes antimonopolio y que recurrirá la fusión ante la Unión Europea y EEUU.

Fuente: Todowp