Oct 9th

Corousel de Imagenes – Plugin Desarrollado por Missing Code

De la mano de Missing Code, traemos otro plugin, en este caso es un plugin que nos sirve para crear un corusel de imagenes, el cual incluye flechas para navegar entre las imagenes.

Como lo utilizas

1. Descargar el plugin desde aqui.

2. Descomprimir y activar el plugin en wordpress

3. Una vez que lo activas necesitaras crear una carpeta donde se cargaran las imagenes, en el theme que estes utilizando debes crear una carpeta llamada “img-header”. Y darle permisos de escritura ya que las imagenes las subiras atravez del panel.

4. En el administrador de WordPress aparecerá una opción “Header Image” pincha en esta pestaña y tendrás el formulario para subir las imágenes, y para borrar las que ya hallas subido.

5. Para mostrar las imagenes en el theme, debes colocar la funciòn <?php carousel_includes(); ?> en el archivo header.php.

6. Por ultimo en donde quieras que aparezca las imagenes coloca el siguiente codigo…

<div>

<div><a href=”javascript:stepcarousel.stepBy(‘board_carusel’, -1)”><img src=”<?=bloginfo(‘template_url’)?>/images/fotoflecha-left.png” /></a></div>
<div><a href=”javascript:stepcarousel.stepBy(‘board_carusel’, 1)”><img src=”<?=bloginfo(‘template_url’)?>/images/fotoflecha-right.png” /></a></div>
<div></div>
<div id=”board_carusel”>
<div>
<?php carousel_body(‘header-imagenSanJusto.jpg’); ?>
</div>
</div>
</div>

<div class=”header-content”>

<div class=”header-flecha-left”><a href=”javascript:stepcarousel.stepBy(‘board_carusel’, -1)”><img src=”<?=bloginfo(‘template_url’)?>/images/fotoflecha-left.png” /></a></div>

<div class=”header-flecha-right”><a href=”javascript:stepcarousel.stepBy(‘board_carusel’, 1)”><img src=”<?=bloginfo(‘template_url’)?>/images/fotoflecha-right.png” /></a></div>

<div class=”fondo-sombra-header-image”></div>

<div id=”board_carusel”>

<div class=”belt”>

<?php carousel_body(); ?>

</div>

</div>

</div>

En realidad lo que llama realmente a las imágenes es la función <?php carousel_body(); ?> lo demas es solo para que te quede un diseño mas atractivo.

Bueno eso es todo y espero que les guste…

Share and Enjoy:
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • Twitter
  • MySpace
  • email
  • RSS
Oct 9th

Nuevo Plugin para WordPress de Missing Code

En esta oportunidad les traigo un plugin muy interesante realizado por nuestro equipo de programadores.

Ajax Page:

Como su nombre lo indica es un plugin que se encarga de que puedas navegar a través de las paginas de wordpress sin refrescar la pagina, es decir, mediante ajax.

Obviamente no es aconsejable por seo y de mas cuestiones similares, pero es muy interesante para hacer secciones donde poder mostrar el contenido sin la necesidad de refrescar, las utilidades pueden ser infinitas, desde cuadros con solapas para mostrar el contenido, como todo un sitio realizado mediante ajax.

Como lo utilizas:

1. Descarga el archivo : AjaxPage

2. Lo descomprimir en la carpeta plugins de tu wordpress

3. Activas el plugin en wordpress

4. En el plugin existe una función llamada ajax_list_pages(), esta función es igual a wp_list_pages y es justamente lo que tienes que hacer, es en ves de llamar a la función por defecto de wordpress colocar la función ajax_list_pages() para colocar el menú de tus paginas.

5. En el div que colocas tu contenido, debes colocarle el id que llama la función ajax del plugin (id=”ajaxpage”).

6. Prueba el plugin y te sorprenderán los resultados, muy bueno y practico para los desarrolladores.

Bueno eso es todo. Espero que les sirva

Share and Enjoy:
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • Twitter
  • MySpace
  • email
  • RSS
Sep 10th

Médicos suspendidos de empleo y sueldo por jugar al “juego de tumbarse” de Facebook

Si ayer comentaba sobre “el caso DSGi” hoy traigo otro similar. Resulta que han suspendido de empleo y sueldo a siete trabajadores del hospital Great Western (incluidos médicos) por haber participado en un “juego/moda” que se está desarrollando en la red social Facebook.

Al parecer estas siete personas se dedicaron durante un turno de nochea fotografiarse tumbados boca abajo sobre el piso del suelo del hospital, la pista del helipuerto o el carro de paradas (no me preguntéis cómo).

¿Y por qué hicieron eso? os preguntaréis. Pues para luego subir las fotografías a un grupo de Facebook de nombre “The lying down game”, donde miles de personas mandan sus instaneas las cuales solamente tienen que cumplir una premisa: fotografiarse en posición horizontal con la cara pega al suelo y lo brazos junto al cuerpo. Cuanto más extraño sea el lugar sobre el que se tire el personal mejor.

Los responsables del hospital (mas estirados que una corbata) no tardaron en enterarse del asunto, y a pesar de que las fotos ya fueron retiras del grupo, les han abierto un expediente disciplinario y mientras la audiencia decide qué hacer, quedan suspendidos de toda actividad.

Este caso si que me parece exagerado. Lo único que hicieron fue tirarse algunas fotos entre ellos para pasar un rato gracioso (estaban en el turno de noche, un fin de semana de agosto). En ningún momento se desatendió a los pacientes ni se rompió nada, además de que las fotos fueron retiradas.

Share and Enjoy:
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • Twitter
  • MySpace
  • email
  • RSS
Sep 10th

Diferentes formas de optimizar el consumo de memoria de WordPress a prueba

Hace un par de días hablabamos de una forma de mejorar el consumo de memoria de tu WordPress. La solución, usar eAccelerator junto a Zend Optimizer permitía mejorar hasta un 90% el consumo de memoria consumida.

Aprovechando que MAMP tiene un sistema fácil y cómodo de probar estas combinaciones he hecho una prueba con un blog limpio recien instalado con diferentes combinación, los resultados son realmente interesantes.

Test

Partimos de que estoy en un iMac con 2GB de RAM, bajo Leopard. La versión de MAMP disponde de :

Las pruebas las he realizado sobre la versión PHP5 (osea la 5.2.3) con 32 MB de límite de memoria. Y los componentes que he testeado son:

Mediante un simple panel de la propia aplicación hacer los cambios es tan sencillo como seleccionar la combinación y pulsar aceptar.

panel-MAMP
(Ver Imagen)

Consumo de memoria

Inicio

Partimos de unos valores iniciales sin tener ningún componente cargado.

sin nada
(Ver Imagen)

Como podemos ver partimos de una cifra de 10,93MB lo que significa un 34% de la memoria permitida para PHP. He aquí el mayor problema de WordPress (datos de una instalación limpia).

Zend Optimizer

La siguiente prueba fué activar Zend Optimizer sin caché, el resultado fué prácticamente el mismo.

zend optimizer
(Ver Imagen)

Incluso en la imagen podemos ver un ligero aumento de la memoria consumida, pero mínimo.

Zend Optimizer + eAccelerator

Aprovechando que Zend Optimizer estaba activo activé eAccelerator para comprobar los resultados de WebJawns:

eacelerator + zend optimizer
(Ver Imagen)

Los resultados fueron muy similares, una mejoría de prácticamente el 90%.

Zend Optimizer + xCache

Aprovechando que Zend segía activo, cambié el sistema de caché y pasé a usar xCache, lo resultados mejoraron una KB:

xcache + zend optimizer
(Ver Imagen)

El resultado no es significativo, pero podemos ver la mejoría sobre ese 90% del ejemplo anterior.

eAccelerator

Ahora era el momento de desactivar Zend Optimizer y probar los sistemas de caché por separado, sin ayuda :D

eaccelerator
(Ver Imagen)

eAccelerator solo, me arrojó unos resultados soprendentes, una mejoría del 91,2% sobre el valor inicial.

xCache

Con xCache me pasó prácticamente lo mismo:

xcache
(Ver Imagen)

Los resultados mejoraron sustancialmente en relación al mismo sistema de caché con Zend Optimizer.

APC

Otra de las opciones que dispone MAMP es usar APC, aunque este no puede trabajar con Zend Optimizer:

APC
(Ver Imagen)

Los resultados fueron superiores a los sistemas anteriores, pero interesantes para tener en cuenta esa mejoría del 83,5%.

Gráficos comparativos

consumo de memoria
(Ver Imagen)

La gráfica nos muestra a simple visto los resultados obtenidos y demuestra que cualquiera de los sistemas usados aporta una mejoría importante al consumo de memoria.

Número de páginas servidas

No solo de memoria vive WordPress, el número de páginas servidas es tambien un número interesante. Así que aprovechando que tenía los sistemas funcionando realizé una serie de pruebas usando ab para testear el servicio web con todas las combinaciones anteriores.

Test

Para la obtención del número de peticiones por segundo aceptadas he usado:

ab -c5 -t30 http://localhost:8888/wp/

Esto ha arrojado diferentes resultados dependiendo de la combinación seleccionada:

peticiones por segundo
(Ver Imagen)

Req/Sec
Sin nada 9,21
Zend Optimizer 7,94
eAccelerator + Zend Optimizer 29,53
xCache + Zend Optimizer 27,93
eAccelerator 32,59
xCache 28,56
APC 27,11

Conclusiones

todo junto
(Ver Imagen)

Viendo el número de respuestas servidas por unos y otros y viendo el consumo de memoria de un WordPress reciente instalado, parece ser que eAccelerator es la mejor opción para mejorar el rendimiento de nuestro WordPress, ya que nos permite servir más páginas por segundo con el mínimo consumo de memoria posible.

Aclaraciones

Estas pruebas, han sido realizadas en un entorno cerrado y los resultados pueden variar dependiendo de los plugins activos, la configuración del servidor y otros factores como el hardware, la versión de Wordpres, … por ese motivo son méramente informativas. En caso de necesitar usar un sistema para mejorar el rendimiento de WordPress, se recomienda realizar las pruebas pertienentes en el sistema que se vaya a utilizar para asegurarnos de un resultado lo más fiable posible.

Share and Enjoy:
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • Twitter
  • MySpace
  • email
  • RSS
Sep 7th

Trucos de configuración de WordPress

En DigWP hacen una recopilación altamente recomendable sobre trucos de configuración para WordPress, aunque ya vimos hace un tiempo todas las opciones del fichero wp-config.php, estas harán que le saque más partido a tu WordPress.

Se trata de una traducción de lo que me ha parecido interesante de este artículo de DigWP.com.

Secure Keys

Estas keys se encargan de añadir un grado de seguridad a nuestro WordPress haciendo que la encriptación de la cookie sea más robusta y difícil de descifrar. El equipo de WordPress pone a nuestra disposición una url donde generar estas keys aleatoriamente, simplemente tendremos que copiarlas en nuestro fichero wp-config.php. Continue reading…

Share and Enjoy:
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • Twitter
  • MySpace
  • email
  • RSS
Sep 1st

Cacheando contenido con PHP

Hace unas semanas tuve que implementar una Class para cachear elementos de mi PHP en ficheros estáticos. Inicialmente usé un sistema similar al que había usado siempre basado en la función filemtime() que me devolvía la fecha de modificación del archivo estático y la contrastaba con la actual, si el resultado era mayor a un número de segundos especificado volvía a generar el fichero estático.

Código filemtime()

class Cache {
 function fileName($key){
 return 'cache/'.md5($key);
 }

 function put($key, $datos){
 $f = fopen($this->fileName($key), 'w');
 if (!$f) die('No se puede leer el fichero de caché');

 $data = serialize($data);

 if (fwrite($f,$data)===false) {
 die('No se puede escribir el fichero de caché');
 }
 fclose($f);
 }

 function get($key){
 $filename = $this->fileName($key);
 if (!file_exists($filename) || !is_readable($filename)) return false;
 if ((filemtime($filename) + 3600) < time()) {
 return file_get_contents($filename);
 }
 return false;
 }
}

Esta versión, me permite cachear en fichero cualquier contenido que yo le indique medianteput(). Veamos un ejemplo. Continue reading…

Share and Enjoy:
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • Twitter
  • MySpace
  • email
  • RSS
Ago 9th

Como crear un plugin desde 0 parte 3 ?

Ya hemos visto bastante de como crear un plugin ahora veremos como agregar un menu al panel de administración.

Aunque muchos crean que estoy es complicado, pues no lo es tanto:

Continue reading…

Share and Enjoy:
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • Twitter
  • MySpace
  • email
  • RSS
Ago 4th

Como crear un plugin desde 0 parte 2 ?

En la anterior entrada, vimos como crear un plugin, totalmente basico, ahora veremos algunas funciones que de seguro necesitaremos si por ejemplo queremos consulta a nuestra base de datos, a alguna tabla existente o una que creemos nosotros.

Repasando lo que vimos antes nuestro plugin habia quedado de la sieguiente manera

/*
Plugin Name: Mi plugin

Plugin URI: http://misnotas.umwtest.com.ar

Description: Descripcion de tu plugin

Version: 1.2

Author: Claudio A. Marrero

Author URI: http://www.ultimamilla.com.ar

*/

function miplugin(){

echo ‘Hola Mundo’;

}

y lo llamamos desde el theme asi…

<?php miplugin(); ?>

Abrimos el archivo “miplugin.php” y nos ponemos crear nuestro plugin.

1. Funcion miplugin().

Editmos la funcion miplugin() para hacer algo un poco mas interezante.

Crearemos una tabla en la base de datos de nuestro wordpress:

CREATE TABLE `wp_carousel_opciones` (

`id` int(11) unsigned NOT NULL auto_increment,

`option_name` varchar(150) NOT NULL,

`option_value` text,

PRIMARY KEY (`id`),

UNIQUE KEY `id` (`id`),

KEY `id_2` (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=0

Ahora consultaremos a esta tabla para optener sus registros.

function miplugin(){

global $wpdb; //WordPress nos da esta esto para poder trabajar con la base de datos

$table_name = $wpdb->prefix .”carousel_opciones”; //Prefix es el prefijo que pusimos en la istalacion de nuestro wordpress

$sql = “SELECT id,option_name,option_value FROM $table_name”; //La consulta a la tabla (Cargemosle algo, para que nos devuelva algun valor.

$data_carousel = $wpdb->get_results($sql); //Tenemos en $data_carousel todos los resultados de la consulta.

$res = $data_carousel[0]; //El primer registro del array que nos devolvio get_results

return $res->option_value; //Devolvemos lo que tenemos en option_value.

}

Bien ya tenemos nuestra funcion un poco mas complicada, consultamos a una tabla de nuestra base, y devolvimos un valor, hasta ahora solo hemos trabajado con algunas cosas sencillas, en el proximo post veremos como agregar un menu a la administracion de wordpress y poder modificar la consulta dinamicamente.

Share and Enjoy:
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • Twitter
  • MySpace
  • email
  • RSS
Ago 4th

Como crear un plugin desde 0??

A ver, he visto varios tutoriales de como crear tu plugin para wordpress, pero ninguno te explica todos las cosas que quieres, me puse a desarrollar mi propio plugin, y aqui explico como lo hice, de paso aprendes como hacer tu propio plugin:

1. Todo dentro de una carpeta

Lo mejor es crear una carpeta con el nombre del plugin, trata de ser representativo con el nombre por si quieres publicarlo mas adelante.

Crearemos una carpeta dentro de plugins llamada “mi_primer_plugin”.

2. Cabecera y archivos.

Dentro de la carpeta que hemos creado, vamos a colocar los archivos que vamos a utilizar para nuestro plugin, imagenes, js, css, php, html todos los que vayamos a utilizar, obviamente en este tuto, vamos a ver como hacer un plugin en un solo archivo php, mas adelante explicare hacer plugins mas complicados.

Creamos “miplugin.php” dentro de la carpeta “mi_primer_plugin”

Para que este archivo sea detectado como un plugin es neceesario crear una cabecera con comentarios que debe tener la siguiente estructura:

Plugin Name: Carousel Data
Plugin URI: http://misnotas.umwtest.com.ar
Description: Con este plugin podras tener los ultimos post, los ultimos comentarios, informacion desde twitter, de rss, todo segundo lo quieras configurar. Una ves instalado, solo tienes que configurarlo y llamarlo desde el theme. En el archivo leeme, te indica como llamar a sus funciones. Muchas Gracias por confiar en ultimamilla.com.ar
Version: 1.2
Author: Claudio A. Marrero
Author URI: http://www.ultimamilla.com.ar

/*
Plugin Name: Mi plugin

Plugin URI: http://misnotas.umwtest.com.ar

Description: Descripcion de tu plugin

Version: 1.2

Author: Claudio A. Marrero

Author URI: http://www.ultimamilla.com.ar

*/

Estos datos son obligatorios, que son utilizados por wordpress para saber cual de la existencia del plugin y ademas para saber cual es su archivo principal, ya que los demas archivos que coloquemos no necesitan llevar esta cabecera. Si guardamos el archivo, y vamos a la opcion plugins de nuestro wordpress, veremos que ya esta siendo detectado como un plugin a pesar que no le hemos puesto ninguna accion.

3. Nuestro Plugin

Siguiendo en el mismo archivo que hemos creado, vamos a empezar a crear nuestro plugin.

function miplugin(){

echo ‘Hola Mundo’;

}

Asi de facil, ya tenemos un plugin que nos imprime hola mundo, ahora para utilizarlo simplemente en cualquier lugar de tu theme colocas

<?php miplugin(); ?>

y listo, te imprimira hola mundo.

Obviamente existen muchas otras cosas que vamos a seguir viendo en el proximo post, como agregar un menu de configuracion del plugin a nuestro administrador de wordpress, como crear funciones de instalacion y desistanlacion. En el proximo post. Les tiro todo eso.

No se olviden de escribirme para colocar sus codigos aqui..

Share and Enjoy:
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • Twitter
  • MySpace
  • email
  • RSS