<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Missing [Code] &#187; Mis Codigos Libres</title>
	<atom:link href="http://blog.sanluiscom.com.ar/category/mis-codigos-libres/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.sanluiscom.com.ar</link>
	<description>{Software Factory}</description>
	<lastBuildDate>Wed, 30 Jun 2010 11:17:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Corousel de Imagenes &#8211; Plugin Desarrollado por Missing Code</title>
		<link>http://blog.sanluiscom.com.ar/corousel-de-imagenes-plugin-desarrollado-por-missing-code/</link>
		<comments>http://blog.sanluiscom.com.ar/corousel-de-imagenes-plugin-desarrollado-por-missing-code/#comments</comments>
		<pubDate>Fri, 09 Oct 2009 19:59:15 +0000</pubDate>
		<dc:creator>Claudio Marrero</dc:creator>
				<category><![CDATA[Mis Codigos Libres]]></category>
		<category><![CDATA[Mis Notas]]></category>
		<category><![CDATA[plugins]]></category>

		<guid isPermaLink="false">http://misnotas.umwtest.com.ar/?p=392</guid>
		<description><![CDATA[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 [...]]]></description>
			<content:encoded><![CDATA[<p>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.</p>
<p><strong>Como lo utilizas</strong></p>
<p>1. Descargar el plugin desde <a href="&lt;?php carousel_body(); ?&gt;" target="_blank">aqui</a>.</p>
<p>2. Descomprimir y activar el plugin en wordpress</p>
<p>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 &#8220;img-header&#8221;. Y darle permisos de escritura ya que las imagenes las subiras atravez del panel.</p>
<p>4. En el administrador de WordPress aparecerá una opción &#8220;Header Image&#8221; pincha en esta pestaña y tendrás el formulario para subir las imágenes, y para borrar las que ya hallas subido.</p>
<p>5. Para mostrar las imagenes en el theme, debes colocar la funciòn &lt;?php  carousel_includes(); ?&gt; en el archivo header.php.</p>
<p>6. Por ultimo en donde quieras que aparezca las imagenes coloca el siguiente codigo&#8230;</p>
<blockquote><p>&lt;div&gt;</p>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>&lt;div&gt;&lt;a href=&#8221;javascript:stepcarousel.stepBy(&#8216;board_carusel&#8217;, -1)&#8221;&gt;&lt;img src=&#8221;&lt;?=bloginfo(&#8216;template_url&#8217;)?&gt;/images/fotoflecha-left.png&#8221; /&gt;&lt;/a&gt;&lt;/div&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;div&gt;&lt;a href=&#8221;javascript:stepcarousel.stepBy(&#8216;board_carusel&#8217;, 1)&#8221;&gt;&lt;img src=&#8221;&lt;?=bloginfo(&#8216;template_url&#8217;)?&gt;/images/fotoflecha-right.png&#8221; /&gt;&lt;/a&gt;&lt;/div&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;div&gt;&lt;/div&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>&lt;div id=&#8221;board_carusel&#8221;&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>&lt;div&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>&lt;?php carousel_body(&#8216;header-imagenSanJusto.jpg&#8217;); ?&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>&lt;/div&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>&lt;/div&gt;</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">&lt;/div&gt;</div>
<p>&lt;div class=&#8221;header-content&#8221;&gt;</p>
<p><span style="white-space:pre"> </span>&lt;div class=&#8221;header-flecha-left&#8221;&gt;&lt;a href=&#8221;javascript:stepcarousel.stepBy(&#8216;board_carusel&#8217;, -1)&#8221;&gt;&lt;img src=&#8221;&lt;?=bloginfo(&#8216;template_url&#8217;)?&gt;/images/fotoflecha-left.png&#8221; /&gt;&lt;/a&gt;&lt;/div&gt;</p>
<p>&lt;div class=&#8221;header-flecha-right&#8221;&gt;&lt;a href=&#8221;javascript:stepcarousel.stepBy(&#8216;board_carusel&#8217;, 1)&#8221;&gt;&lt;img src=&#8221;&lt;?=bloginfo(&#8216;template_url&#8217;)?&gt;/images/fotoflecha-right.png&#8221; /&gt;&lt;/a&gt;&lt;/div&gt;</p>
<p>&lt;div class=&#8221;fondo-sombra-header-image&#8221;&gt;&lt;/div&gt;</p>
<p><span style="white-space:pre"> </span>&lt;div id=&#8221;board_carusel&#8221;&gt;</p>
<p><span style="white-space:pre"> </span>&lt;div class=&#8221;belt&#8221;&gt;</p>
<p><span style="white-space:pre"> </span>&lt;?php carousel_body(); ?&gt;</p>
<p><span style="white-space:pre"> </span>&lt;/div&gt;</p>
<p><span style="white-space:pre"> </span>&lt;/div&gt;</p>
<p>&lt;/div&gt;</p></blockquote>
<p>En realidad lo que llama realmente a las imágenes es la función <strong>&lt;?php carousel_body(); ?&gt;</strong> lo demas es solo para que te quede un diseño mas atractivo.</p>
<p>Bueno eso es todo y espero que les guste&#8230;</p>

<div class="sociable">
<div class="sociable_tagline">
<strong>Share and Enjoy:</strong>
</div>
<ul>
	<li class="sociablefirst"><a rel="nofollow"  target="_blank" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fblog.sanluiscom.com.ar%2Fcorousel-de-imagenes-plugin-desarrollado-por-missing-code%2F&amp;t=Corousel%20de%20Imagenes%20-%20Plugin%20Desarrollado%20por%20Missing%20Code" title="Facebook"><img src="http://blog.sanluiscom.com.ar/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  target="_blank" href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fblog.sanluiscom.com.ar%2Fcorousel-de-imagenes-plugin-desarrollado-por-missing-code%2F&amp;title=Corousel%20de%20Imagenes%20-%20Plugin%20Desarrollado%20por%20Missing%20Code&amp;annotation=De%20la%20mano%20de%20Missing%20Code%2C%20traemos%20otro%20plugin%2C%20en%20este%20caso%20es%20un%20plugin%20que%20nos%20sirve%20para%20crear%20un%20corusel%20de%20imagenes%2C%20el%20cual%20incluye%20flechas%20para%20navegar%20entre%20las%20imagenes.%0D%0A%0D%0AComo%20lo%20utilizas%0D%0A%0D%0A1.%20Descargar%20el%20plugin%20desde%20aqui.%0D%0A%0D%0A2.%20Desco" title="Google Bookmarks"><img src="http://blog.sanluiscom.com.ar/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  target="_blank" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fblog.sanluiscom.com.ar%2Fcorousel-de-imagenes-plugin-desarrollado-por-missing-code%2F&amp;title=Corousel%20de%20Imagenes%20-%20Plugin%20Desarrollado%20por%20Missing%20Code&amp;source=Missing+%5BCode%5D+%7BSoftware+Factory%7D&amp;summary=De%20la%20mano%20de%20Missing%20Code%2C%20traemos%20otro%20plugin%2C%20en%20este%20caso%20es%20un%20plugin%20que%20nos%20sirve%20para%20crear%20un%20corusel%20de%20imagenes%2C%20el%20cual%20incluye%20flechas%20para%20navegar%20entre%20las%20imagenes.%0D%0A%0D%0AComo%20lo%20utilizas%0D%0A%0D%0A1.%20Descargar%20el%20plugin%20desde%20aqui.%0D%0A%0D%0A2.%20Desco" title="LinkedIn"><img src="http://blog.sanluiscom.com.ar/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  target="_blank" href="http://twitter.com/home?status=Corousel%20de%20Imagenes%20-%20Plugin%20Desarrollado%20por%20Missing%20Code%20-%20http%3A%2F%2Fblog.sanluiscom.com.ar%2Fcorousel-de-imagenes-plugin-desarrollado-por-missing-code%2F" title="Twitter"><img src="http://blog.sanluiscom.com.ar/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  target="_blank" href="http://www.myspace.com/Modules/PostTo/Pages/?u=http%3A%2F%2Fblog.sanluiscom.com.ar%2Fcorousel-de-imagenes-plugin-desarrollado-por-missing-code%2F&amp;t=Corousel%20de%20Imagenes%20-%20Plugin%20Desarrollado%20por%20Missing%20Code" title="MySpace"><img src="http://blog.sanluiscom.com.ar/wp-content/plugins/sociable/images/myspace.png" title="MySpace" alt="MySpace" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  target="_blank" href="mailto:?subject=Corousel%20de%20Imagenes%20-%20Plugin%20Desarrollado%20por%20Missing%20Code&amp;body=http%3A%2F%2Fblog.sanluiscom.com.ar%2Fcorousel-de-imagenes-plugin-desarrollado-por-missing-code%2F" title="email"><img src="http://blog.sanluiscom.com.ar/wp-content/plugins/sociable/images/email_link.png" title="email" alt="email" class="sociable-hovers" /></a></li>
	<li class="sociablelast"><a rel="nofollow"  target="_blank" href="http://blog.sanluiscom.com.ar/feed/" title="RSS"><img src="http://blog.sanluiscom.com.ar/wp-content/plugins/sociable/images/rss.png" title="RSS" alt="RSS" class="sociable-hovers" /></a></li>
</ul>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.sanluiscom.com.ar/corousel-de-imagenes-plugin-desarrollado-por-missing-code/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nuevo Plugin para WordPress de Missing Code</title>
		<link>http://blog.sanluiscom.com.ar/nuevo-plugin-para-wordpress-de-missing-code/</link>
		<comments>http://blog.sanluiscom.com.ar/nuevo-plugin-para-wordpress-de-missing-code/#comments</comments>
		<pubDate>Fri, 09 Oct 2009 19:27:25 +0000</pubDate>
		<dc:creator>Claudio Marrero</dc:creator>
				<category><![CDATA[Mis Codigos Libres]]></category>
		<category><![CDATA[Mis Notas]]></category>

		<guid isPermaLink="false">http://misnotas.umwtest.com.ar/?p=385</guid>
		<description><![CDATA[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 [...]]]></description>
			<content:encoded><![CDATA[<p>En esta oportunidad les traigo un plugin muy interesante realizado por nuestro equipo de programadores.</p>
<p><strong>Ajax Page:</strong></p>
<p>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.</p>
<p>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.</p>
<p><strong>Como lo utilizas:</strong></p>
<p>1. Descarga el archivo  : <a href="http://misnotas.umwtest.com.ar/wp-content/uploads/ajaxpage.rar" target="_blank">AjaxPage</a></p>
<p>2. Lo descomprimir en la carpeta plugins de tu wordpress</p>
<p>3. Activas el plugin en wordpress</p>
<p>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.</p>
<p>5. En el div que colocas tu contenido, debes colocarle el id que llama la función ajax del plugin (id=&#8221;ajaxpage&#8221;).</p>
<p>6. Prueba el plugin y te sorprenderán los resultados, muy bueno y practico para los desarrolladores.</p>
<p>Bueno eso es todo. Espero que les sirva</p>

<div class="sociable">
<div class="sociable_tagline">
<strong>Share and Enjoy:</strong>
</div>
<ul>
	<li class="sociablefirst"><a rel="nofollow"  target="_blank" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fblog.sanluiscom.com.ar%2Fnuevo-plugin-para-wordpress-de-missing-code%2F&amp;t=Nuevo%20Plugin%20para%20Wordpress%20de%20Missing%20Code" title="Facebook"><img src="http://blog.sanluiscom.com.ar/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  target="_blank" href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fblog.sanluiscom.com.ar%2Fnuevo-plugin-para-wordpress-de-missing-code%2F&amp;title=Nuevo%20Plugin%20para%20Wordpress%20de%20Missing%20Code&amp;annotation=En%20esta%20oportunidad%20les%20traigo%20un%20plugin%20muy%20interesante%20realizado%20por%20nuestro%20equipo%20de%20programadores.%0D%0A%0D%0AAjax%20Page%3A%0D%0A%0D%0AComo%20su%20nombre%20lo%20indica%20es%20un%20plugin%20que%20se%20encarga%20de%20que%20puedas%20navegar%20a%20trav%C3%A9s%20de%20las%20paginas%20de%20wordpress%20sin%20refrescar%20la" title="Google Bookmarks"><img src="http://blog.sanluiscom.com.ar/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  target="_blank" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fblog.sanluiscom.com.ar%2Fnuevo-plugin-para-wordpress-de-missing-code%2F&amp;title=Nuevo%20Plugin%20para%20Wordpress%20de%20Missing%20Code&amp;source=Missing+%5BCode%5D+%7BSoftware+Factory%7D&amp;summary=En%20esta%20oportunidad%20les%20traigo%20un%20plugin%20muy%20interesante%20realizado%20por%20nuestro%20equipo%20de%20programadores.%0D%0A%0D%0AAjax%20Page%3A%0D%0A%0D%0AComo%20su%20nombre%20lo%20indica%20es%20un%20plugin%20que%20se%20encarga%20de%20que%20puedas%20navegar%20a%20trav%C3%A9s%20de%20las%20paginas%20de%20wordpress%20sin%20refrescar%20la" title="LinkedIn"><img src="http://blog.sanluiscom.com.ar/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  target="_blank" href="http://twitter.com/home?status=Nuevo%20Plugin%20para%20Wordpress%20de%20Missing%20Code%20-%20http%3A%2F%2Fblog.sanluiscom.com.ar%2Fnuevo-plugin-para-wordpress-de-missing-code%2F" title="Twitter"><img src="http://blog.sanluiscom.com.ar/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  target="_blank" href="http://www.myspace.com/Modules/PostTo/Pages/?u=http%3A%2F%2Fblog.sanluiscom.com.ar%2Fnuevo-plugin-para-wordpress-de-missing-code%2F&amp;t=Nuevo%20Plugin%20para%20Wordpress%20de%20Missing%20Code" title="MySpace"><img src="http://blog.sanluiscom.com.ar/wp-content/plugins/sociable/images/myspace.png" title="MySpace" alt="MySpace" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  target="_blank" href="mailto:?subject=Nuevo%20Plugin%20para%20Wordpress%20de%20Missing%20Code&amp;body=http%3A%2F%2Fblog.sanluiscom.com.ar%2Fnuevo-plugin-para-wordpress-de-missing-code%2F" title="email"><img src="http://blog.sanluiscom.com.ar/wp-content/plugins/sociable/images/email_link.png" title="email" alt="email" class="sociable-hovers" /></a></li>
	<li class="sociablelast"><a rel="nofollow"  target="_blank" href="http://blog.sanluiscom.com.ar/feed/" title="RSS"><img src="http://blog.sanluiscom.com.ar/wp-content/plugins/sociable/images/rss.png" title="RSS" alt="RSS" class="sociable-hovers" /></a></li>
</ul>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.sanluiscom.com.ar/nuevo-plugin-para-wordpress-de-missing-code/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Médicos suspendidos de empleo y sueldo por jugar al “juego de tumbarse” de Facebook</title>
		<link>http://blog.sanluiscom.com.ar/medicos-suspendidos-de-empleo-y-sueldo-por-jugar-al-%e2%80%9cjuego-de-tumbarse%e2%80%9d-de-facebook/</link>
		<comments>http://blog.sanluiscom.com.ar/medicos-suspendidos-de-empleo-y-sueldo-por-jugar-al-%e2%80%9cjuego-de-tumbarse%e2%80%9d-de-facebook/#comments</comments>
		<pubDate>Thu, 10 Sep 2009 17:12:40 +0000</pubDate>
		<dc:creator>Claudio Marrero</dc:creator>
				<category><![CDATA[Mis Codigos Libres]]></category>
		<category><![CDATA[Mis Notas]]></category>
		<category><![CDATA[Facebook]]></category>

		<guid isPermaLink="false">http://misnotas.umwtest.com.ar/?p=321</guid>
		<description><![CDATA[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 [...]]]></description>
			<content:encoded><![CDATA[<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; text-align: justify; padding: 0px;">Si ayer comentaba sobre “<a style="text-decoration: none; color: #58930e;" href="http://bitelia.com/2009/09/empleados-de-dsgi-llaman-estupidos-a-sus-clientes-en-un-grupo-de-facebook">el caso DSGi</a>” hoy traigo <a style="text-decoration: none; color: #58930e;" href="http://www.guardian.co.uk/uk/2009/sep/09/hospital-lying-down-game">otro similar</a>. Resulta que <strong>han suspendido de empleo y sueldo a siete trabajadores del hospital <a style="text-decoration: none; color: #58930e;" href="http://www.swindon-marlborough.nhs.uk/">Great Western</a> (incluidos médicos) por haber participado en un “juego/moda” que se está desarrollando en la red social Facebook</strong>.</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; text-align: justify; padding: 0px;">Al parecer estas siete personas se dedicaron durante un turno de noche<strong>a fotografiarse tumbados boca abajo sobre el piso del suelo del hospital, la pista del helipuerto o el carro de paradas</strong> (no me preguntéis cómo).</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; text-align: justify; padding: 0px;">¿Y por qué hicieron eso? os preguntaréis. Pues para luego subir las fotografías a un grupo de Facebook de nombre “<a style="text-decoration: none; color: #58930e;" href="http://www.facebook.com/group.php?gid=5989617014">The lying down game</a>”, 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.</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; text-align: justify; padding: 0px;"><span id="more-33779"> </span></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; text-align: justify; padding: 0px;">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.</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 15px; margin-left: 0px; text-align: justify; padding: 0px;"><strong>Este caso si que me parece exagerado</strong>. 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.</p>

<div class="sociable">
<div class="sociable_tagline">
<strong>Share and Enjoy:</strong>
</div>
<ul>
	<li class="sociablefirst"><a rel="nofollow"  target="_blank" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fblog.sanluiscom.com.ar%2Fmedicos-suspendidos-de-empleo-y-sueldo-por-jugar-al-%25e2%2580%259cjuego-de-tumbarse%25e2%2580%259d-de-facebook%2F&amp;t=M%C3%A9dicos%20suspendidos%20de%20empleo%20y%20sueldo%20por%20jugar%20al%20%E2%80%9Cjuego%20de%20tumbarse%E2%80%9D%20de%20Facebook" title="Facebook"><img src="http://blog.sanluiscom.com.ar/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  target="_blank" href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fblog.sanluiscom.com.ar%2Fmedicos-suspendidos-de-empleo-y-sueldo-por-jugar-al-%25e2%2580%259cjuego-de-tumbarse%25e2%2580%259d-de-facebook%2F&amp;title=M%C3%A9dicos%20suspendidos%20de%20empleo%20y%20sueldo%20por%20jugar%20al%20%E2%80%9Cjuego%20de%20tumbarse%E2%80%9D%20de%20Facebook&amp;annotation=Si%20ayer%20comentaba%20sobre%20%E2%80%9Cel%20caso%20DSGi%E2%80%9D%20hoy%20traigo%20otro%20similar.%20Resulta%20que%20han%20suspendido%20de%20empleo%20y%20sueldo%20a%20siete%20trabajadores%20del%20hospital%20Great%20Western%20%28incluidos%20m%C3%A9dicos%29%20por%20haber%20participado%20en%20un%20%E2%80%9Cjuego%2Fmoda%E2%80%9D%20que%20se%20est%C3%A1%20desarroll" title="Google Bookmarks"><img src="http://blog.sanluiscom.com.ar/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  target="_blank" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fblog.sanluiscom.com.ar%2Fmedicos-suspendidos-de-empleo-y-sueldo-por-jugar-al-%25e2%2580%259cjuego-de-tumbarse%25e2%2580%259d-de-facebook%2F&amp;title=M%C3%A9dicos%20suspendidos%20de%20empleo%20y%20sueldo%20por%20jugar%20al%20%E2%80%9Cjuego%20de%20tumbarse%E2%80%9D%20de%20Facebook&amp;source=Missing+%5BCode%5D+%7BSoftware+Factory%7D&amp;summary=Si%20ayer%20comentaba%20sobre%20%E2%80%9Cel%20caso%20DSGi%E2%80%9D%20hoy%20traigo%20otro%20similar.%20Resulta%20que%20han%20suspendido%20de%20empleo%20y%20sueldo%20a%20siete%20trabajadores%20del%20hospital%20Great%20Western%20%28incluidos%20m%C3%A9dicos%29%20por%20haber%20participado%20en%20un%20%E2%80%9Cjuego%2Fmoda%E2%80%9D%20que%20se%20est%C3%A1%20desarroll" title="LinkedIn"><img src="http://blog.sanluiscom.com.ar/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  target="_blank" href="http://twitter.com/home?status=M%C3%A9dicos%20suspendidos%20de%20empleo%20y%20sueldo%20por%20jugar%20al%20%E2%80%9Cjuego%20de%20tumbarse%E2%80%9D%20de%20Facebook%20-%20http%3A%2F%2Fblog.sanluiscom.com.ar%2Fmedicos-suspendidos-de-empleo-y-sueldo-por-jugar-al-%25e2%2580%259cjuego-de-tumbarse%25e2%2580%259d-de-facebook%2F" title="Twitter"><img src="http://blog.sanluiscom.com.ar/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  target="_blank" href="http://www.myspace.com/Modules/PostTo/Pages/?u=http%3A%2F%2Fblog.sanluiscom.com.ar%2Fmedicos-suspendidos-de-empleo-y-sueldo-por-jugar-al-%25e2%2580%259cjuego-de-tumbarse%25e2%2580%259d-de-facebook%2F&amp;t=M%C3%A9dicos%20suspendidos%20de%20empleo%20y%20sueldo%20por%20jugar%20al%20%E2%80%9Cjuego%20de%20tumbarse%E2%80%9D%20de%20Facebook" title="MySpace"><img src="http://blog.sanluiscom.com.ar/wp-content/plugins/sociable/images/myspace.png" title="MySpace" alt="MySpace" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  target="_blank" href="mailto:?subject=M%C3%A9dicos%20suspendidos%20de%20empleo%20y%20sueldo%20por%20jugar%20al%20%E2%80%9Cjuego%20de%20tumbarse%E2%80%9D%20de%20Facebook&amp;body=http%3A%2F%2Fblog.sanluiscom.com.ar%2Fmedicos-suspendidos-de-empleo-y-sueldo-por-jugar-al-%25e2%2580%259cjuego-de-tumbarse%25e2%2580%259d-de-facebook%2F" title="email"><img src="http://blog.sanluiscom.com.ar/wp-content/plugins/sociable/images/email_link.png" title="email" alt="email" class="sociable-hovers" /></a></li>
	<li class="sociablelast"><a rel="nofollow"  target="_blank" href="http://blog.sanluiscom.com.ar/feed/" title="RSS"><img src="http://blog.sanluiscom.com.ar/wp-content/plugins/sociable/images/rss.png" title="RSS" alt="RSS" class="sociable-hovers" /></a></li>
</ul>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.sanluiscom.com.ar/medicos-suspendidos-de-empleo-y-sueldo-por-jugar-al-%e2%80%9cjuego-de-tumbarse%e2%80%9d-de-facebook/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Diferentes formas de optimizar el consumo de memoria de WordPress a prueba</title>
		<link>http://blog.sanluiscom.com.ar/diferentes-formas-de-optimizar-el-consumo-de-memoria-de-wordpress-a-prueba/</link>
		<comments>http://blog.sanluiscom.com.ar/diferentes-formas-de-optimizar-el-consumo-de-memoria-de-wordpress-a-prueba/#comments</comments>
		<pubDate>Thu, 10 Sep 2009 13:25:04 +0000</pubDate>
		<dc:creator>Claudio Marrero</dc:creator>
				<category><![CDATA[Articulos]]></category>
		<category><![CDATA[Mis Codigos Libres]]></category>
		<category><![CDATA[Tus codigos libres]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://misnotas.umwtest.com.ar/?p=312</guid>
		<description><![CDATA[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 [...]]]></description>
			<content:encoded><![CDATA[<p style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; margin: 0px;">Hace un par de días <a style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; color: #1b4978; background-color: #e7ecf1; padding: 0px; margin: 0px;" href="http://www.anieto2k.com/2009/09/08/reduce-el-consumo-de-memoria-de-tu-wordpress/">hablabamos de una forma de mejorar el consumo de memoria de tu WordPress</a>. La solución, usar <strong>eAccelerator junto a Zend Optimizer permitía mejorar hasta un 90% el consumo de memoria consumida</strong>.</p>
<p style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; margin: 0px;">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.</p>
<h3 style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; font-size: 18px; margin: 0px;">Test</h3>
<p style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; margin: 0px;">Partimos de que estoy en un iMac con 2GB de RAM, bajo Leopard. La versión de MAMP disponde de :</p>
<ul style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 80px; list-style-type: disc; margin: 0px;">
<li style="padding-top: 0px; padding-right: 0px; padding-bottom: 4px; padding-left: 0px; margin: 0px;"><a style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; color: #1b4978; background-color: #e7ecf1; padding: 0px; margin: 0px;" href="http://www.apache.org/">Apache 2.0.59</a></li>
<li style="padding-top: 0px; padding-right: 0px; padding-bottom: 4px; padding-left: 0px; margin: 0px;"><a style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; color: #1b4978; background-color: #e7ecf1; padding: 0px; margin: 0px;" href="http://www.mysql.com/">MySQL 5.0.41</a></li>
<li style="padding-top: 0px; padding-right: 0px; padding-bottom: 4px; padding-left: 0px; margin: 0px;"><a style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; color: #1b4978; background-color: #e7ecf1; padding: 0px; margin: 0px;" href="http://www.php.net/">PHP 4.4.7 &amp; 5.2.3</a></li>
<li style="padding-top: 0px; padding-right: 0px; padding-bottom: 4px; padding-left: 0px; margin: 0px;"><a style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; color: #1b4978; background-color: #e7ecf1; padding: 0px; margin: 0px;" href="http://wordpress.org/download/">WordPress 2.8.4 (recien instalado)</a></li>
<li style="padding-top: 0px; padding-right: 0px; padding-bottom: 4px; padding-left: 0px; margin: 0px;"><a style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; color: #1b4978; background-color: #e7ecf1; padding: 0px; margin: 0px;" href="http://wordpress.org/extend/plugins/tpc-memory-usage/">Plugin TPC! Memory usage</a></li>
</ul>
<p style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; margin: 0px;">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:</p>
<ul style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 80px; list-style-type: disc; margin: 0px;">
<li style="padding-top: 0px; padding-right: 0px; padding-bottom: 4px; padding-left: 0px; margin: 0px;"><a style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; color: #1b4978; background-color: #e7ecf1; padding: 0px; margin: 0px;" href="http://es2.php.net/apc">APC 3.0.14</a></li>
<li style="padding-top: 0px; padding-right: 0px; padding-bottom: 4px; padding-left: 0px; margin: 0px;"><a style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; color: #1b4978; background-color: #e7ecf1; padding: 0px; margin: 0px;" href="http://eaccelerator.net/">eAccelerator 0.9.5.1</a></li>
<li style="padding-top: 0px; padding-right: 0px; padding-bottom: 4px; padding-left: 0px; margin: 0px;"><a style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; color: #1b4978; background-color: #e7ecf1; padding: 0px; margin: 0px;" href="http://xcache.lighttpd.net/">XCache 1.2.0</a></li>
<li style="padding-top: 0px; padding-right: 0px; padding-bottom: 4px; padding-left: 0px; margin: 0px;"><a style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; color: #1b4978; background-color: #e7ecf1; padding: 0px; margin: 0px;" href="http://www.zend.com/en/products/guard/">Zend Optimizer 3.2.8</a></li>
</ul>
<p style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; margin: 0px;">Mediante un simple panel de la propia aplicación hacer los cambios es tan sencillo como seleccionar la combinación y pulsar aceptar.</p>
<p style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; text-align: center; margin: 0px;"><a style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; color: #1b4978; background-color: #e7ecf1; padding: 0px; margin: 0px;" rel="lightbox" href="http://www.anieto2k.com/wp-content/uploads/2009/09/panel-MAMP.png"><img style="max-width: 600px; padding: 0px; margin: 0px; border: 0px initial initial;" src="http://www.anieto2k.com/wp-content/uploads/2009/09/panel-MAMP.png" alt="panel-MAMP" /></a><br style="padding: 0px; margin: 0px;" /><a style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; color: #1b4978; background-color: #e7ecf1; padding: 0px; margin: 0px;" href="http://www.anieto2k.com/wp-content/uploads/2009/09/panel-MAMP.png"><small style="padding: 0px; margin: 0px;">(Ver Imagen)</small></a></p>
<p style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; margin: 0px;"><span id="more-8928" style="padding: 0px; margin: 0px;"> </span></p>
<h3 style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; font-size: 18px; margin: 0px;">Consumo de memoria</h3>
<h4 style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; font-size: 14px; margin: 0px;">Inicio</h4>
<p style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; margin: 0px;">Partimos de unos valores iniciales sin tener ningún componente cargado.</p>
<p style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; text-align: center; margin: 0px;"><a style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; color: #1b4978; background-color: #e7ecf1; padding: 0px; margin: 0px;" rel="lightbox" href="http://www.anieto2k.com/wp-content/uploads/2009/09/sin-nada.png"><img style="max-width: 600px; padding: 0px; margin: 0px; border: 0px initial initial;" src="http://www.anieto2k.com/wp-content/uploads/2009/09/sin-nada-600x164.png" alt="sin nada" /></a><br style="padding: 0px; margin: 0px;" /><a style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; color: #1b4978; background-color: #e7ecf1; padding: 0px; margin: 0px;" href="http://www.anieto2k.com/wp-content/uploads/2009/09/sin-nada.png"><small style="padding: 0px; margin: 0px;">(Ver Imagen)</small></a></p>
<p style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; margin: 0px;">Como podemos ver partimos de una cifra de <em>10,93MB lo que significa un 34% de la memoria permitida para PHP</em>. He aquí el mayor problema de WordPress (datos de una instalación limpia).</p>
<h4 style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; font-size: 14px; margin: 0px;">Zend Optimizer</h4>
<p style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; margin: 0px;">La siguiente prueba fué activar Zend Optimizer sin caché, el resultado fué prácticamente el mismo.</p>
<p style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; text-align: center; margin: 0px;"><a style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; color: #1b4978; background-color: #e7ecf1; padding: 0px; margin: 0px;" rel="lightbox" href="http://www.anieto2k.com/wp-content/uploads/2009/09/zend-optimizer.png"><img style="max-width: 600px; padding: 0px; margin: 0px; border: 0px initial initial;" src="http://www.anieto2k.com/wp-content/uploads/2009/09/zend-optimizer-600x164.png" alt="zend optimizer" /></a><br style="padding: 0px; margin: 0px;" /><a style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; color: #1b4978; background-color: #e7ecf1; padding: 0px; margin: 0px;" href="http://www.anieto2k.com/wp-content/uploads/2009/09/zend-optimizer.png"><small style="padding: 0px; margin: 0px;">(Ver Imagen)</small></a></p>
<p style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; margin: 0px;">Incluso en la imagen podemos ver un ligero aumento de la memoria consumida, pero mínimo.</p>
<h4 style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; font-size: 14px; margin: 0px;">Zend Optimizer + eAccelerator</h4>
<p style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; margin: 0px;">Aprovechando que Zend Optimizer estaba activo activé eAccelerator para comprobar <a style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; color: #1b4978; background-color: #e7ecf1; padding: 0px; margin: 0px;" href="http://www.anieto2k.com/2009/09/08/reduce-el-consumo-de-memoria-de-tu-wordpress/">los resultados de WebJawns</a>:</p>
<p style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; text-align: center; margin: 0px;"><a style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; color: #1b4978; background-color: #e7ecf1; padding: 0px; margin: 0px;" rel="lightbox" href="http://www.anieto2k.com/wp-content/uploads/2009/09/eacelerator-+-zend-optimizer.png"><img style="max-width: 600px; padding: 0px; margin: 0px; border: 0px initial initial;" src="http://www.anieto2k.com/wp-content/uploads/2009/09/eacelerator-+-zend-optimizer-600x164.png" alt="eacelerator + zend optimizer" /></a><br style="padding: 0px; margin: 0px;" /><a style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; color: #1b4978; background-color: #e7ecf1; padding: 0px; margin: 0px;" href="http://www.anieto2k.com/wp-content/uploads/2009/09/eacelerator-+-zend-optimizer.png"><small style="padding: 0px; margin: 0px;">(Ver Imagen)</small></a></p>
<p style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; margin: 0px;">Los resultados fueron muy similares, <em>una mejoría de prácticamente el 90%</em>.</p>
<h4 style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; font-size: 14px; margin: 0px;">Zend Optimizer + xCache</h4>
<p style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; margin: 0px;">Aprovechando que Zend segía activo, cambié el sistema de caché y pasé a usar xCache, lo resultados mejoraron una KB:</p>
<p style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; text-align: center; margin: 0px;"><a style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; color: #1b4978; background-color: #e7ecf1; padding: 0px; margin: 0px;" rel="lightbox" href="http://www.anieto2k.com/wp-content/uploads/2009/09/xcache-+-zend-optimizer.png"><img style="max-width: 600px; padding: 0px; margin: 0px; border: 0px initial initial;" src="http://www.anieto2k.com/wp-content/uploads/2009/09/xcache-+-zend-optimizer-600x162.png" alt="xcache + zend optimizer" /></a><br style="padding: 0px; margin: 0px;" /><a style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; color: #1b4978; background-color: #e7ecf1; padding: 0px; margin: 0px;" href="http://www.anieto2k.com/wp-content/uploads/2009/09/xcache-+-zend-optimizer.png"><small style="padding: 0px; margin: 0px;">(Ver Imagen)</small></a></p>
<p style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; margin: 0px;">El resultado no es significativo, pero podemos ver <em>la mejoría sobre ese 90% del ejemplo anterior</em>.</p>
<h4 style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; font-size: 14px; margin: 0px;">eAccelerator</h4>
<p style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; margin: 0px;">Ahora era el momento de desactivar Zend Optimizer y probar los sistemas de caché por separado, sin ayuda <img style="vertical-align: middle; max-width: 600px; padding: 0px; margin: 0px; border: 0px initial initial;" src="http://www.anieto2k.com/wp-includes/images/smilies/icon_biggrin.gif" alt=":D" /></p>
<p style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; text-align: center; margin: 0px;"><a style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; color: #1b4978; background-color: #e7ecf1; padding: 0px; margin: 0px;" rel="lightbox" href="http://www.anieto2k.com/wp-content/uploads/2009/09/eaccelerator.png"><img style="max-width: 600px; padding: 0px; margin: 0px; border: 0px initial initial;" src="http://www.anieto2k.com/wp-content/uploads/2009/09/eaccelerator-600x162.png" alt="eaccelerator" /></a><br style="padding: 0px; margin: 0px;" /><a style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; color: #1b4978; background-color: #e7ecf1; padding: 0px; margin: 0px;" href="http://www.anieto2k.com/wp-content/uploads/2009/09/eaccelerator.png"><small style="padding: 0px; margin: 0px;">(Ver Imagen)</small></a></p>
<p style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; margin: 0px;">eAccelerator solo, me arrojó unos resultados soprendentes, <em>una mejoría del 91,2% sobre el valor inicial</em>.</p>
<h4 style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; font-size: 14px; margin: 0px;">xCache</h4>
<p style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; margin: 0px;">Con xCache me pasó prácticamente lo mismo:</p>
<p style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; text-align: center; margin: 0px;"><a style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; color: #1b4978; background-color: #e7ecf1; padding: 0px; margin: 0px;" rel="lightbox" href="http://www.anieto2k.com/wp-content/uploads/2009/09/xcache.png"><img style="max-width: 600px; padding: 0px; margin: 0px; border: 0px initial initial;" src="http://www.anieto2k.com/wp-content/uploads/2009/09/xcache-600x168.png" alt="xcache" /></a><br style="padding: 0px; margin: 0px;" /><a style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; color: #1b4978; background-color: #e7ecf1; padding: 0px; margin: 0px;" href="http://www.anieto2k.com/wp-content/uploads/2009/09/xcache.png"><small style="padding: 0px; margin: 0px;">(Ver Imagen)</small></a></p>
<p style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; margin: 0px;">Los resultados<em> mejoraron sustancialmente en relación al mismo sistema de caché con Zend Optimizer</em>.</p>
<h4 style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; font-size: 14px; margin: 0px;">APC</h4>
<p style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; margin: 0px;">Otra de las opciones que dispone MAMP es usar APC, aunque este no puede trabajar con Zend Optimizer:</p>
<p style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; text-align: center; margin: 0px;"><a style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; color: #1b4978; background-color: #e7ecf1; padding: 0px; margin: 0px;" rel="lightbox" href="http://www.anieto2k.com/wp-content/uploads/2009/09/APC.png"><img style="max-width: 600px; padding: 0px; margin: 0px; border: 0px initial initial;" src="http://www.anieto2k.com/wp-content/uploads/2009/09/APC-600x163.png" alt="APC" /></a><br style="padding: 0px; margin: 0px;" /><a style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; color: #1b4978; background-color: #e7ecf1; padding: 0px; margin: 0px;" href="http://www.anieto2k.com/wp-content/uploads/2009/09/APC.png"><small style="padding: 0px; margin: 0px;">(Ver Imagen)</small></a></p>
<p style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; margin: 0px;">Los resultados fueron superiores a los sistemas anteriores, pero interesantes para tener en cuenta<em> esa mejoría del 83,5%</em>.</p>
<h4 style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; font-size: 14px; margin: 0px;">Gráficos comparativos</h4>
<p style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; margin: 0px;">
<p style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; text-align: center; margin: 0px;"><a style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; color: #1b4978; background-color: #e7ecf1; padding: 0px; margin: 0px;" rel="lightbox" href="http://www.anieto2k.com/wp-content/uploads/2009/09/consumo-de-memoria.png"><img style="max-width: 600px; padding: 0px; margin: 0px; border: 0px initial initial;" src="http://www.anieto2k.com/wp-content/uploads/2009/09/consumo-de-memoria.png" alt="consumo de memoria" /></a><br style="padding: 0px; margin: 0px;" /><a style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; color: #1b4978; background-color: #e7ecf1; padding: 0px; margin: 0px;" href="http://www.anieto2k.com/wp-content/uploads/2009/09/consumo-de-memoria.png"><small style="padding: 0px; margin: 0px;">(Ver Imagen)</small></a></p>
<p style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; margin: 0px;">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.</p>
<h3 style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; font-size: 18px; margin: 0px;">Número de páginas servidas</h3>
<p style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; margin: 0px;">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 <a style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; color: #1b4978; background-color: #e7ecf1; padding: 0px; margin: 0px;" href="http://httpd.apache.org/docs/1.3/programs/ab.html">ab</a> para testear el servicio web con todas las combinaciones anteriores.</p>
<h4 style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; font-size: 14px; margin: 0px;">Test</h4>
<p style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; margin: 0px;">Para la obtención del número de peticiones por segundo aceptadas he usado:</p>
<pre style="margin-top: 0px; margin-right: 30px; margin-bottom: 15px; margin-left: 30px; font-family: Monaco, Courier, monospace; font-size: 12px; -webkit-border-top-right-radius: 9px 9px; -webkit-border-top-left-radius: 9px 9px; -webkit-border-bottom-left-radius: 9px 9px; -webkit-border-bottom-right-radius: 9px 9px; background-color: #112c4a; color: #e7ecf1; overflow-x: auto; overflow-y: auto; padding: 25px; border: 0px initial initial;"><code style="font-family: Monaco, Courier, monospace; color: #e7ecf1; padding: 0px; margin: 0px;">ab -c5 -t30 http://localhost:8888/wp/</code></pre>
<p style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; margin: 0px;">Esto ha arrojado diferentes resultados dependiendo de la combinación seleccionada:</p>
<p style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; text-align: center; margin: 0px;"><a style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; color: #1b4978; background-color: #e7ecf1; padding: 0px; margin: 0px;" rel="lightbox" href="http://www.anieto2k.com/wp-content/uploads/2009/09/peticiones-por-segundo.png"><img style="max-width: 600px; padding: 0px; margin: 0px; border: 0px initial initial;" src="http://www.anieto2k.com/wp-content/uploads/2009/09/peticiones-por-segundo.png" alt="peticiones por segundo" /></a><br style="padding: 0px; margin: 0px;" /><a style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; color: #1b4978; background-color: #e7ecf1; padding: 0px; margin: 0px;" href="http://www.anieto2k.com/wp-content/uploads/2009/09/peticiones-por-segundo.png"><small style="padding: 0px; margin: 0px;">(Ver Imagen)</small></a></p>
<table style="margin-top: 0px; margin-right: auto; margin-bottom: 0px; margin-left: auto; width: 630px; text-align: left; padding: 0px;" border="0">
<tbody style="padding: 0px; margin: 0px;">
<tr style="padding: 0px; margin: 0px;">
<td style="border-top-style: none; border-right-style: none; border-bottom-style: solid; border-left-style: none; border-width: initial; border-color: initial; border-bottom-width: 1px; border-bottom-color: #e7ecf1; padding: 0.3em; margin: 0px;"></td>
<td style="border-top-style: none; border-right-style: none; border-bottom-style: solid; border-left-style: none; border-width: initial; border-color: initial; border-bottom-width: 1px; border-bottom-color: #e7ecf1; padding: 0.3em; margin: 0px;" width="75">Req/Sec</td>
</tr>
<tr style="padding: 0px; margin: 0px;">
<td style="border-top-style: none; border-right-style: none; border-bottom-style: solid; border-left-style: none; border-width: initial; border-color: initial; border-bottom-width: 1px; border-bottom-color: #e7ecf1; padding: 0.3em; margin: 0px;">Sin nada</td>
<td style="border-top-style: none; border-right-style: none; border-bottom-style: solid; border-left-style: none; border-width: initial; border-color: initial; border-bottom-width: 1px; border-bottom-color: #e7ecf1; padding: 0.3em; margin: 0px;">9,21</td>
</tr>
<tr style="padding: 0px; margin: 0px;">
<td style="border-top-style: none; border-right-style: none; border-bottom-style: solid; border-left-style: none; border-width: initial; border-color: initial; border-bottom-width: 1px; border-bottom-color: #e7ecf1; padding: 0.3em; margin: 0px;">Zend Optimizer</td>
<td style="border-top-style: none; border-right-style: none; border-bottom-style: solid; border-left-style: none; border-width: initial; border-color: initial; border-bottom-width: 1px; border-bottom-color: #e7ecf1; padding: 0.3em; margin: 0px;">7,94</td>
</tr>
<tr style="padding: 0px; margin: 0px;">
<td style="border-top-style: none; border-right-style: none; border-bottom-style: solid; border-left-style: none; border-width: initial; border-color: initial; border-bottom-width: 1px; border-bottom-color: #e7ecf1; padding: 0.3em; margin: 0px;">eAccelerator + Zend Optimizer</td>
<td style="border-top-style: none; border-right-style: none; border-bottom-style: solid; border-left-style: none; border-width: initial; border-color: initial; border-bottom-width: 1px; border-bottom-color: #e7ecf1; padding: 0.3em; margin: 0px;">29,53</td>
</tr>
<tr style="padding: 0px; margin: 0px;">
<td style="border-top-style: none; border-right-style: none; border-bottom-style: solid; border-left-style: none; border-width: initial; border-color: initial; border-bottom-width: 1px; border-bottom-color: #e7ecf1; padding: 0.3em; margin: 0px;">xCache + Zend Optimizer</td>
<td style="border-top-style: none; border-right-style: none; border-bottom-style: solid; border-left-style: none; border-width: initial; border-color: initial; border-bottom-width: 1px; border-bottom-color: #e7ecf1; padding: 0.3em; margin: 0px;">27,93</td>
</tr>
<tr style="padding: 0px; margin: 0px;">
<td style="border-top-style: none; border-right-style: none; border-bottom-style: solid; border-left-style: none; border-width: initial; border-color: initial; border-bottom-width: 1px; border-bottom-color: #e7ecf1; padding: 0.3em; margin: 0px;">eAccelerator</td>
<td style="border-top-style: none; border-right-style: none; border-bottom-style: solid; border-left-style: none; border-width: initial; border-color: initial; border-bottom-width: 1px; border-bottom-color: #e7ecf1; padding: 0.3em; margin: 0px;">32,59</td>
</tr>
<tr style="padding: 0px; margin: 0px;">
<td style="border-top-style: none; border-right-style: none; border-bottom-style: solid; border-left-style: none; border-width: initial; border-color: initial; border-bottom-width: 1px; border-bottom-color: #e7ecf1; padding: 0.3em; margin: 0px;">xCache</td>
<td style="border-top-style: none; border-right-style: none; border-bottom-style: solid; border-left-style: none; border-width: initial; border-color: initial; border-bottom-width: 1px; border-bottom-color: #e7ecf1; padding: 0.3em; margin: 0px;">28,56</td>
</tr>
<tr style="padding: 0px; margin: 0px;">
<td style="border-top-style: none; border-right-style: none; border-bottom-style: solid; border-left-style: none; border-width: initial; border-color: initial; border-bottom-width: 1px; border-bottom-color: #e7ecf1; padding: 0.3em; margin: 0px;">APC</td>
<td style="border-top-style: none; border-right-style: none; border-bottom-style: solid; border-left-style: none; border-width: initial; border-color: initial; border-bottom-width: 1px; border-bottom-color: #e7ecf1; padding: 0.3em; margin: 0px;">27,11</td>
</tr>
</tbody>
</table>
<h3 style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; font-size: 18px; margin: 0px;">Conclusiones</h3>
<p style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; margin: 0px;">
<p style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; text-align: center; margin: 0px;"><a style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; color: #1b4978; background-color: #e7ecf1; padding: 0px; margin: 0px;" rel="lightbox" href="http://www.anieto2k.com/wp-content/uploads/2009/09/todo-junto.png"><img style="max-width: 600px; padding: 0px; margin: 0px; border: 0px initial initial;" src="http://www.anieto2k.com/wp-content/uploads/2009/09/todo-junto.png" alt="todo junto" /></a><br style="padding: 0px; margin: 0px;" /><a style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; color: #1b4978; background-color: #e7ecf1; padding: 0px; margin: 0px;" href="http://www.anieto2k.com/wp-content/uploads/2009/09/todo-junto.png"><small style="padding: 0px; margin: 0px;">(Ver Imagen)</small></a></p>
<p style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; margin: 0px;">Viendo el número de respuestas servidas por unos y otros y viendo el consumo de memoria de un WordPress reciente instalado, <strong>parece ser que eAccelerator es la mejor opción para mejorar el rendimiento de nuestro WordPress</strong>, ya que nos permite servir más páginas por segundo con el mínimo consumo de memoria posible.</p>
<h3 style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; font-size: 18px; margin: 0px;">Aclaraciones</h3>
<p style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; margin: 0px;">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.</p>

<div class="sociable">
<div class="sociable_tagline">
<strong>Share and Enjoy:</strong>
</div>
<ul>
	<li class="sociablefirst"><a rel="nofollow"  target="_blank" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fblog.sanluiscom.com.ar%2Fdiferentes-formas-de-optimizar-el-consumo-de-memoria-de-wordpress-a-prueba%2F&amp;t=Diferentes%20formas%20de%20optimizar%20el%20consumo%20de%20memoria%20de%20Wordpress%20a%20prueba" title="Facebook"><img src="http://blog.sanluiscom.com.ar/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  target="_blank" href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fblog.sanluiscom.com.ar%2Fdiferentes-formas-de-optimizar-el-consumo-de-memoria-de-wordpress-a-prueba%2F&amp;title=Diferentes%20formas%20de%20optimizar%20el%20consumo%20de%20memoria%20de%20Wordpress%20a%20prueba&amp;annotation=Hace%20un%20par%20de%20d%C3%ADas%20hablabamos%20de%20una%20forma%20de%20mejorar%20el%20consumo%20de%20memoria%20de%20tu%20Wordpress.%20La%20soluci%C3%B3n%2C%20usar%20eAccelerator%20junto%20a%20Zend%20Optimizer%20permit%C3%ADa%20mejorar%20hasta%20un%2090%25%20el%20consumo%20de%20memoria%20consumida.%0D%0AAprovechando%20que%20MAMP%20tiene%20un%20sist" title="Google Bookmarks"><img src="http://blog.sanluiscom.com.ar/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  target="_blank" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fblog.sanluiscom.com.ar%2Fdiferentes-formas-de-optimizar-el-consumo-de-memoria-de-wordpress-a-prueba%2F&amp;title=Diferentes%20formas%20de%20optimizar%20el%20consumo%20de%20memoria%20de%20Wordpress%20a%20prueba&amp;source=Missing+%5BCode%5D+%7BSoftware+Factory%7D&amp;summary=Hace%20un%20par%20de%20d%C3%ADas%20hablabamos%20de%20una%20forma%20de%20mejorar%20el%20consumo%20de%20memoria%20de%20tu%20Wordpress.%20La%20soluci%C3%B3n%2C%20usar%20eAccelerator%20junto%20a%20Zend%20Optimizer%20permit%C3%ADa%20mejorar%20hasta%20un%2090%25%20el%20consumo%20de%20memoria%20consumida.%0D%0AAprovechando%20que%20MAMP%20tiene%20un%20sist" title="LinkedIn"><img src="http://blog.sanluiscom.com.ar/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  target="_blank" href="http://twitter.com/home?status=Diferentes%20formas%20de%20optimizar%20el%20consumo%20de%20memoria%20de%20Wordpress%20a%20prueba%20-%20http%3A%2F%2Fblog.sanluiscom.com.ar%2Fdiferentes-formas-de-optimizar-el-consumo-de-memoria-de-wordpress-a-prueba%2F" title="Twitter"><img src="http://blog.sanluiscom.com.ar/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  target="_blank" href="http://www.myspace.com/Modules/PostTo/Pages/?u=http%3A%2F%2Fblog.sanluiscom.com.ar%2Fdiferentes-formas-de-optimizar-el-consumo-de-memoria-de-wordpress-a-prueba%2F&amp;t=Diferentes%20formas%20de%20optimizar%20el%20consumo%20de%20memoria%20de%20Wordpress%20a%20prueba" title="MySpace"><img src="http://blog.sanluiscom.com.ar/wp-content/plugins/sociable/images/myspace.png" title="MySpace" alt="MySpace" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  target="_blank" href="mailto:?subject=Diferentes%20formas%20de%20optimizar%20el%20consumo%20de%20memoria%20de%20Wordpress%20a%20prueba&amp;body=http%3A%2F%2Fblog.sanluiscom.com.ar%2Fdiferentes-formas-de-optimizar-el-consumo-de-memoria-de-wordpress-a-prueba%2F" title="email"><img src="http://blog.sanluiscom.com.ar/wp-content/plugins/sociable/images/email_link.png" title="email" alt="email" class="sociable-hovers" /></a></li>
	<li class="sociablelast"><a rel="nofollow"  target="_blank" href="http://blog.sanluiscom.com.ar/feed/" title="RSS"><img src="http://blog.sanluiscom.com.ar/wp-content/plugins/sociable/images/rss.png" title="RSS" alt="RSS" class="sociable-hovers" /></a></li>
</ul>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.sanluiscom.com.ar/diferentes-formas-de-optimizar-el-consumo-de-memoria-de-wordpress-a-prueba/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Trucos de configuración de WordPress</title>
		<link>http://blog.sanluiscom.com.ar/trucos-de-configuracion-de-wordpress/</link>
		<comments>http://blog.sanluiscom.com.ar/trucos-de-configuracion-de-wordpress/#comments</comments>
		<pubDate>Mon, 07 Sep 2009 15:08:23 +0000</pubDate>
		<dc:creator>Claudio Marrero</dc:creator>
				<category><![CDATA[Mis Codigos Libres]]></category>
		<category><![CDATA[Mis Notas]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://misnotas.umwtest.com.ar/?p=293</guid>
		<description><![CDATA[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 [...]]]></description>
			<content:encoded><![CDATA[<p style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; margin: 0px;">En <a style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; color: #1b4978; background-color: #e7ecf1; padding: 0px; margin: 0px;" href="http://digwp.com/">DigWP</a> hacen una recopilación altamente recomendable sobre trucos de configuración para WordPress, aunque ya vimos hace un tiempo <a style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; color: #1b4978; background-color: #e7ecf1; padding: 0px; margin: 0px;" href="http://www.anieto2k.com/2008/03/23/wp-configphp-un-fichero-para-gobernarlos-a-todos/">todas las opciones del fichero <code style="font-family: Monaco, Courier, monospace; color: #7a2a1b; padding: 0px; margin: 0px;">wp-config.php</code></a>, estas harán que le saque más partido a tu WordPress.</p>
<p style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; text-align: center; margin: 0px;"><em style="padding: 0px; margin: 0px;">Se trata de una traducción de lo que me ha parecido interesante de <a style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; color: #1b4978; background-color: #e7ecf1; padding: 0px; margin: 0px;" href="http://digwp.com/2009/06/wordpress-configuration-tricks/">este artículo de DigWP.com</a>.</em></p>
<h3 style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; font-size: 18px; margin: 0px;">Secure Keys</h3>
<p style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; margin: 0px;">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 <a style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; color: #1b4978; background-color: #e7ecf1; padding: 0px; margin: 0px;" href="http://api.wordpress.org/secret-key/1.1/">una url donde generar estas keys aleatoriamente</a>, simplemente tendremos que copiarlas en nuestro fichero <code style="font-family: Monaco, Courier, monospace; color: #7a2a1b; padding: 0px; margin: 0px;">wp-config.php</code>.<span id="more-293"></span></p>
<pre style="margin-top: 0px; margin-right: 30px; margin-bottom: 15px; margin-left: 30px; font-family: Monaco, Courier, monospace; font-size: 12px; -webkit-border-top-right-radius: 9px 9px; -webkit-border-top-left-radius: 9px 9px; -webkit-border-bottom-left-radius: 9px 9px; -webkit-border-bottom-right-radius: 9px 9px; background-color: #112c4a; color: #e7ecf1; overflow-x: auto; overflow-y: auto; padding: 25px; border: 0px initial initial;"><code style="font-family: Monaco, Courier, monospace; color: #e7ecf1; padding: 0px; margin: 0px;">define('AUTH_KEY',        '|@@ozJobZd8P#n*qU&amp;U`+d2^-zFJ|u0cJub3&gt;w,N,rk&gt;u#7s|*[=E b1t_A?$W&gt;P');
define('SECURE_AUTH_KEY', '4KN-v/#,txKyv.&lt;#H|&gt;#1az_d6!jHtgv:?ZGmn)9iJESSsr[AWH@d31=hIOU}l,*');
define('LOGGED_IN_KEY',   '+uVyb{2b~`@z3hI+^h?*p1esJb ]Itx6+Nh~C|wA4Hyo @eL|-iL.6-+Bju/.$B(');
define('NONCE_KEY',       'L%H|GLc_CfOOtZZ*1zL=|o-tQnX$b[_iWL8_.-*|/Jl4t n,#;;gw.%!+*=|B!5&gt;');</code></pre>
<h3 style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; font-size: 18px; margin: 0px;">Prefijo de la base de datos</h3>
<p style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; margin: 0px;">La personalización de WordPress va desde el aspecto hasta la BD. Una muestra de ello, es la posibilidad de personalizar el prefijo de la base de datos con el que será más difícil conocer el nombre de las tablas por aquellos usuarios malintencionados.</p>
<pre style="margin-top: 0px; margin-right: 30px; margin-bottom: 15px; margin-left: 30px; font-family: Monaco, Courier, monospace; font-size: 12px; -webkit-border-top-right-radius: 9px 9px; -webkit-border-top-left-radius: 9px 9px; -webkit-border-bottom-left-radius: 9px 9px; -webkit-border-bottom-right-radius: 9px 9px; background-color: #112c4a; color: #e7ecf1; overflow-x: auto; overflow-y: auto; padding: 25px; border: 0px initial initial;"><code style="font-family: Monaco, Courier, monospace; color: #e7ecf1; padding: 0px; margin: 0px;">$table_prefix  = '<strong style="padding: 0px; margin: 0px;">wp_</strong>';</code></pre>
<h3 style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; font-size: 18px; margin: 0px;">Dirección del blog y el theme</h3>
<p style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; margin: 0px;">Desde WordPress 2.2 tenemos la posibilidad de especificar la URL del blog directamente desde el fichero <code style="font-family: Monaco, Courier, monospace; color: #7a2a1b; padding: 0px; margin: 0px;">wp-config.php</code>. Esto, permite omitir los datos almacenados en la base de datos referentes a la ubicación del blog y recoja la dirección del fichero <code style="font-family: Monaco, Courier, monospace; color: #7a2a1b; padding: 0px; margin: 0px;">wp-config.php</code>.</p>
<pre style="margin-top: 0px; margin-right: 30px; margin-bottom: 15px; margin-left: 30px; font-family: Monaco, Courier, monospace; font-size: 12px; -webkit-border-top-right-radius: 9px 9px; -webkit-border-top-left-radius: 9px 9px; -webkit-border-bottom-left-radius: 9px 9px; -webkit-border-bottom-right-radius: 9px 9px; background-color: #112c4a; color: #e7ecf1; overflow-x: auto; overflow-y: auto; padding: 25px; border: 0px initial initial;"><code style="font-family: Monaco, Courier, monospace; color: #e7ecf1; padding: 0px; margin: 0px;">define('WP_HOME', 'http://www.anieto2k.com');
define('WP_SITEURL', 'http://www.anieto2k.com.com');</code></pre>
<p style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; margin: 0px;">Para el theme también tenemos un par de variables globales que podemos usar para almacenar las direcciones del theme y la hoja de estilos.</p>
<pre style="margin-top: 0px; margin-right: 30px; margin-bottom: 15px; margin-left: 30px; font-family: Monaco, Courier, monospace; font-size: 12px; -webkit-border-top-right-radius: 9px 9px; -webkit-border-top-left-radius: 9px 9px; -webkit-border-bottom-left-radius: 9px 9px; -webkit-border-bottom-right-radius: 9px 9px; background-color: #112c4a; color: #e7ecf1; overflow-x: auto; overflow-y: auto; padding: 25px; border: 0px initial initial;"><code style="font-family: Monaco, Courier, monospace; color: #e7ecf1; padding: 0px; margin: 0px;">define('TEMPLATEPATH', get_template_directory());
define('STYLESHEETPATH', get_stylesheet_directory());</code></pre>
<h3 style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; font-size: 18px; margin: 0px;">Activar/Desactiva la wp-cache</h3>
<p style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; margin: 0px;">La <strong style="padding: 0px; margin: 0px;">wp-cache</strong>, es <a style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; color: #1b4978; background-color: #e7ecf1; padding: 0px; margin: 0px;" href="http://www.anieto2k.com/2009/03/16/usando-la-cache-interna-de-wordpress/">la caché interna de WordPress y esta, como ya vimos hace tiempo</a>, se trata de un conjunto de funciones que permite que gestionemos datos cacheados en nuestros plugins/themes.</p>
<p style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; margin: 0px;">Desde <code style="font-family: Monaco, Courier, monospace; color: #7a2a1b; padding: 0px; margin: 0px;">wp-config.php</code> podemos especificar si esta caché está activada o no, y el tiempo de vida de los datos en caché.</p>
<pre style="margin-top: 0px; margin-right: 30px; margin-bottom: 15px; margin-left: 30px; font-family: Monaco, Courier, monospace; font-size: 12px; -webkit-border-top-right-radius: 9px 9px; -webkit-border-top-left-radius: 9px 9px; -webkit-border-bottom-left-radius: 9px 9px; -webkit-border-bottom-right-radius: 9px 9px; background-color: #112c4a; color: #e7ecf1; overflow-x: auto; overflow-y: auto; padding: 25px; border: 0px initial initial;"><code style="font-family: Monaco, Courier, monospace; color: #e7ecf1; padding: 0px; margin: 0px;">
<strong style="padding: 0px; margin: 0px;">// Activar
</strong>define('WP_CACHE', true);      // enable the cache
define('ENABLE_CACHE', true);  // enable the cache
define('CACHE_EXPIRATION_TIME', 3600); // in seconds
<strong style="padding: 0px; margin: 0px;">// Desactivar
</strong>define('WP_CACHE', false);     // disable the cache
define('DISABLE_CACHE', true); // disable the cache</code></pre>
<h3 style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; font-size: 18px; margin: 0px;">Personalizar las tablas user y user_meta</h3>
<p style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; margin: 0px;">Si queremos compartir tablas de usuarios entre diferentes blog, o añadir un grado más de seguridad cambiando los nombres de la tablas de usuarios y de user_meta directamente desde el fichero <code style="font-family: Monaco, Courier, monospace; color: #7a2a1b; padding: 0px; margin: 0px;">wp-config.php.</code></p>
<pre style="margin-top: 0px; margin-right: 30px; margin-bottom: 15px; margin-left: 30px; font-family: Monaco, Courier, monospace; font-size: 12px; -webkit-border-top-right-radius: 9px 9px; -webkit-border-top-left-radius: 9px 9px; -webkit-border-bottom-left-radius: 9px 9px; -webkit-border-bottom-right-radius: 9px 9px; background-color: #112c4a; color: #e7ecf1; overflow-x: auto; overflow-y: auto; padding: 25px; border: 0px initial initial;"><code style="font-family: Monaco, Courier, monospace; color: #e7ecf1; padding: 0px; margin: 0px;">define('CUSTOM_USER_TABLE', $table_prefix.'my_users');
define('CUSTOM_USER_META_TABLE', $table_prefix.'my_usermeta');</code></pre>
<h3 style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; font-size: 18px; margin: 0px;">Especificar datos de acceso FTP</h3>
<p style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; margin: 0px;">Los datos de acceso FTP nos permiten actualizar plugins directamente desde el panel de administrador, definir estos datos puede ayudarnos a que nuestros usuarios no tengan que introducir los datos a la hora de actualizar los plugins.</p>
<pre style="margin-top: 0px; margin-right: 30px; margin-bottom: 15px; margin-left: 30px; font-family: Monaco, Courier, monospace; font-size: 12px; -webkit-border-top-right-radius: 9px 9px; -webkit-border-top-left-radius: 9px 9px; -webkit-border-bottom-left-radius: 9px 9px; -webkit-border-bottom-right-radius: 9px 9px; background-color: #112c4a; color: #e7ecf1; overflow-x: auto; overflow-y: auto; padding: 25px; border: 0px initial initial;"><code style="font-family: Monaco, Courier, monospace; color: #e7ecf1; padding: 0px; margin: 0px;">define('FS_METHOD', 'ftpext'); // forces the filesystem method: "direct", "ssh", "ftpext", or "ftpsockets"
define('FTP_BASE', '/path/to/wordpress/'); // absolute path to root installation directory
define('FTP_CONTENT_DIR', '/path/to/wordpress/wp-content/'); // absolute path to "wp-content" directory
define('FTP_PLUGIN_DIR ', '/path/to/wordpress/wp-content/plugins/'); // absolute path to "wp-plugins" directory
define('FTP_PUBKEY', '/home/username/.ssh/id_rsa.pub'); // absolute path to your SSH public key
define('FTP_PRIVKEY', '/home/username/.ssh/id_rsa'); // absolute path to your SSH private key
define('FTP_USER', 'username'); // either your FTP or SSH username
define('FTP_PASS', 'password'); // password for FTP_USER username
define('FTP_HOST', 'ftp.domain.tld:21'); // hostname:port combo for your SSH/FTP server</code></pre>
<h3 style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; font-size: 18px; margin: 0px;">Especificar el tiempo de autosalvado</h3>
<p style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; margin: 0px;">Una de las utilidades que más desapercibido han pasado y que más están ayudando a los usuarios de WordPress, es el auto salvado de posts mientras escribimos. Desde <code style="font-family: Monaco, Courier, monospace; color: #7a2a1b; padding: 0px; margin: 0px;">wp-config.php</code>podemos especificar el intervalo de tiempo en los que se han de auto salvar los posts.</p>
<pre style="margin-top: 0px; margin-right: 30px; margin-bottom: 15px; margin-left: 30px; font-family: Monaco, Courier, monospace; font-size: 12px; -webkit-border-top-right-radius: 9px 9px; -webkit-border-top-left-radius: 9px 9px; -webkit-border-bottom-left-radius: 9px 9px; -webkit-border-bottom-right-radius: 9px 9px; background-color: #112c4a; color: #e7ecf1; overflow-x: auto; overflow-y: auto; padding: 25px; border: 0px initial initial;"><code style="font-family: Monaco, Courier, monospace; color: #e7ecf1; padding: 0px; margin: 0px;">define('AUTOSAVE_INTERVAL', 160); // in seconds</code></pre>
<h3 style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; font-size: 18px; margin: 0px;">Log de peticiones a la BD</h3>
<p style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; margin: 0px;">Si eres un amante de los logs y del control, esta configuración te permitirá hacer que las peticiones a la base de datos sean almacenadas para visualizarlas posteriormente. Para ello debemos indicarlo en el fichero <code style="font-family: Monaco, Courier, monospace; color: #7a2a1b; padding: 0px; margin: 0px;">wp-config.php</code></p>
<pre style="margin-top: 0px; margin-right: 30px; margin-bottom: 15px; margin-left: 30px; font-family: Monaco, Courier, monospace; font-size: 12px; -webkit-border-top-right-radius: 9px 9px; -webkit-border-top-left-radius: 9px 9px; -webkit-border-bottom-left-radius: 9px 9px; -webkit-border-bottom-right-radius: 9px 9px; background-color: #112c4a; color: #e7ecf1; overflow-x: auto; overflow-y: auto; padding: 25px; border: 0px initial initial;"><code style="font-family: Monaco, Courier, monospace; color: #e7ecf1; padding: 0px; margin: 0px;">define('SAVEQUERIES', true);
</code></pre>
<p style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; margin: 0px;">Y después modificar el theme para hacer que estas peticiones sean visibles para los administradores.</p>
<pre style="margin-top: 0px; margin-right: 30px; margin-bottom: 15px; margin-left: 30px; font-family: Monaco, Courier, monospace; font-size: 12px; -webkit-border-top-right-radius: 9px 9px; -webkit-border-top-left-radius: 9px 9px; -webkit-border-bottom-left-radius: 9px 9px; -webkit-border-bottom-right-radius: 9px 9px; background-color: #112c4a; color: #e7ecf1; overflow-x: auto; overflow-y: auto; padding: 25px; border: 0px initial initial;"><code style="font-family: Monaco, Courier, monospace; color: #e7ecf1; padding: 0px; margin: 0px;"><strong style="padding: 0px; margin: 0px;">// Mostramos las peticiones solo para administradores</strong>
if (current_user_can('level_10')) {
	global $wpdb;
	echo "&lt;pre&gt;";
	print_r($wpdb-&gt;queries);
	echo "&lt;/pre&gt;";
}</code></pre>
<h3 style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; font-size: 18px; margin: 0px;">Control de acceso</h3>
<p style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; margin: 0px;">Imagina que tienes un WordPress montado dentro de una intranet, y no quieres permitir el acceso desde servidores externos a ella, con <code style="font-family: Monaco, Courier, monospace; color: #7a2a1b; padding: 0px; margin: 0px;">wp-config.php</code> (desde WordPress 2.8) esto es posible mediante unas simples líneas.</p>
<pre style="margin-top: 0px; margin-right: 30px; margin-bottom: 15px; margin-left: 30px; font-family: Monaco, Courier, monospace; font-size: 12px; -webkit-border-top-right-radius: 9px 9px; -webkit-border-top-left-radius: 9px 9px; -webkit-border-bottom-left-radius: 9px 9px; -webkit-border-bottom-right-radius: 9px 9px; background-color: #112c4a; color: #e7ecf1; overflow-x: auto; overflow-y: auto; padding: 25px; border: 0px initial initial;"><code style="font-family: Monaco, Courier, monospace; color: #e7ecf1; padding: 0px; margin: 0px;">define('WP_HTTP_BLOCK_EXTERNAL', true);  // block external requests
define('WP_HTTP_BLOCK_EXTERNAL', false); // allow external requests
</code></pre>
<p style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; margin: 0px;">Además podemos filtrar mucho más aún, permitiendo que ciertos PC’s tengan acceso al blog.</p>
<pre style="margin-top: 0px; margin-right: 30px; margin-bottom: 15px; margin-left: 30px; font-family: Monaco, Courier, monospace; font-size: 12px; -webkit-border-top-right-radius: 9px 9px; -webkit-border-top-left-radius: 9px 9px; -webkit-border-bottom-left-radius: 9px 9px; -webkit-border-bottom-right-radius: 9px 9px; background-color: #112c4a; color: #e7ecf1; overflow-x: auto; overflow-y: auto; padding: 25px; border: 0px initial initial;"><code style="font-family: Monaco, Courier, monospace; color: #e7ecf1; padding: 0px; margin: 0px;">define('WP_ACCESSIBLE_HOSTS', 'api.wordpress.org'); // whitelist hosts</code></pre>

<div class="sociable">
<div class="sociable_tagline">
<strong>Share and Enjoy:</strong>
</div>
<ul>
	<li class="sociablefirst"><a rel="nofollow"  target="_blank" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fblog.sanluiscom.com.ar%2Ftrucos-de-configuracion-de-wordpress%2F&amp;t=Trucos%20de%20configuraci%C3%B3n%20de%20Wordpress" title="Facebook"><img src="http://blog.sanluiscom.com.ar/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  target="_blank" href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fblog.sanluiscom.com.ar%2Ftrucos-de-configuracion-de-wordpress%2F&amp;title=Trucos%20de%20configuraci%C3%B3n%20de%20Wordpress&amp;annotation=En%20DigWP%20hacen%20una%20recopilaci%C3%B3n%20altamente%20recomendable%20sobre%20trucos%20de%20configuraci%C3%B3n%20para%20Wordpress%2C%20aunque%20ya%20vimos%20hace%20un%20tiempo%20todas%20las%20opciones%20del%20fichero%20wp-config.php%2C%20estas%20har%C3%A1n%20que%20le%20saque%20m%C3%A1s%20partido%20a%20tu%20Wordpress.%0D%0ASe%20trata%20de%20un" title="Google Bookmarks"><img src="http://blog.sanluiscom.com.ar/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  target="_blank" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fblog.sanluiscom.com.ar%2Ftrucos-de-configuracion-de-wordpress%2F&amp;title=Trucos%20de%20configuraci%C3%B3n%20de%20Wordpress&amp;source=Missing+%5BCode%5D+%7BSoftware+Factory%7D&amp;summary=En%20DigWP%20hacen%20una%20recopilaci%C3%B3n%20altamente%20recomendable%20sobre%20trucos%20de%20configuraci%C3%B3n%20para%20Wordpress%2C%20aunque%20ya%20vimos%20hace%20un%20tiempo%20todas%20las%20opciones%20del%20fichero%20wp-config.php%2C%20estas%20har%C3%A1n%20que%20le%20saque%20m%C3%A1s%20partido%20a%20tu%20Wordpress.%0D%0ASe%20trata%20de%20un" title="LinkedIn"><img src="http://blog.sanluiscom.com.ar/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  target="_blank" href="http://twitter.com/home?status=Trucos%20de%20configuraci%C3%B3n%20de%20Wordpress%20-%20http%3A%2F%2Fblog.sanluiscom.com.ar%2Ftrucos-de-configuracion-de-wordpress%2F" title="Twitter"><img src="http://blog.sanluiscom.com.ar/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  target="_blank" href="http://www.myspace.com/Modules/PostTo/Pages/?u=http%3A%2F%2Fblog.sanluiscom.com.ar%2Ftrucos-de-configuracion-de-wordpress%2F&amp;t=Trucos%20de%20configuraci%C3%B3n%20de%20Wordpress" title="MySpace"><img src="http://blog.sanluiscom.com.ar/wp-content/plugins/sociable/images/myspace.png" title="MySpace" alt="MySpace" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  target="_blank" href="mailto:?subject=Trucos%20de%20configuraci%C3%B3n%20de%20Wordpress&amp;body=http%3A%2F%2Fblog.sanluiscom.com.ar%2Ftrucos-de-configuracion-de-wordpress%2F" title="email"><img src="http://blog.sanluiscom.com.ar/wp-content/plugins/sociable/images/email_link.png" title="email" alt="email" class="sociable-hovers" /></a></li>
	<li class="sociablelast"><a rel="nofollow"  target="_blank" href="http://blog.sanluiscom.com.ar/feed/" title="RSS"><img src="http://blog.sanluiscom.com.ar/wp-content/plugins/sociable/images/rss.png" title="RSS" alt="RSS" class="sociable-hovers" /></a></li>
</ul>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.sanluiscom.com.ar/trucos-de-configuracion-de-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cacheando contenido con PHP</title>
		<link>http://blog.sanluiscom.com.ar/cacheando-contenido-con-php/</link>
		<comments>http://blog.sanluiscom.com.ar/cacheando-contenido-con-php/#comments</comments>
		<pubDate>Tue, 01 Sep 2009 19:05:56 +0000</pubDate>
		<dc:creator>Claudio Marrero</dc:creator>
				<category><![CDATA[Mis Codigos Libres]]></category>
		<category><![CDATA[Mis Notas]]></category>

		<guid isPermaLink="false">http://misnotas.umwtest.com.ar/?p=267</guid>
		<description><![CDATA[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 [...]]]></description>
			<content:encoded><![CDATA[<p style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; margin: 0px;">Hace unas semanas tuve que implementar una <code style="font-family: Monaco, Courier, monospace; color: #7a2a1b; padding: 0px; margin: 0px;">Class</code> 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 <code style="font-family: Monaco, Courier, monospace; color: #7a2a1b; padding: 0px; margin: 0px;">filemtime()</code> 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.</p>
<h3 style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; font-size: 18px; margin: 0px;">Código filemtime()</h3>
<pre style="margin-top: 0px; margin-right: 30px; margin-bottom: 15px; margin-left: 30px; font-family: Monaco, Courier, monospace; font-size: 12px; -webkit-border-top-right-radius: 9px 9px; -webkit-border-top-left-radius: 9px 9px; -webkit-border-bottom-left-radius: 9px 9px; -webkit-border-bottom-right-radius: 9px 9px; background-color: #112c4a; color: #e7ecf1; overflow-x: auto; overflow-y: auto; padding: 25px; border: 0px initial initial;"><code style="font-family: Monaco, Courier, monospace; color: #e7ecf1; padding: 0px; margin: 0px;">class Cache {
 function fileName($key){
 return 'cache/'.md5($key);
 }

 function put($key, $datos){
 $f = fopen($this-&gt;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-&gt;fileName($key);
 if (!file_exists($filename) || !is_readable($filename)) return false;
 if ((filemtime($filename) + 3600) &lt; time()) {
 return file_get_contents($filename);
 }
 return false;
 }
}</code></pre>
<p style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; margin: 0px;">Esta versión, me permite cachear en fichero cualquier contenido que yo le indique mediante<code style="font-family: Monaco, Courier, monospace; color: #7a2a1b; padding: 0px; margin: 0px;">put().</code> Veamos un ejemplo.<span id="more-267"></span></p>
<pre style="margin-top: 0px; margin-right: 30px; margin-bottom: 15px; margin-left: 30px; font-family: Monaco, Courier, monospace; font-size: 12px; -webkit-border-top-right-radius: 9px 9px; -webkit-border-top-left-radius: 9px 9px; -webkit-border-bottom-left-radius: 9px 9px; -webkit-border-bottom-right-radius: 9px 9px; background-color: #112c4a; color: #e7ecf1; overflow-x: auto; overflow-y: auto; padding: 25px; border: 0px initial initial;"><code style="font-family: Monaco, Courier, monospace; color: #e7ecf1; padding: 0px; margin: 0px;">$cache = new Cache();
if (!$data = $cache-&gt;get('misdatos')) {
 ....
 $cache-&gt;put('misdatos', $misdatos);
}</code></pre>
<h3 style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; font-size: 18px; margin: 0px;">Problemas</h3>
<p style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; margin: 0px;">Tras unas horas usándolo me encontré con un problema, la poca flexibilidad de este sistema. Necesitaba que ciertos datos, se cachearan una hora y otros lo hicieran 24. De esta forma me era dificil montar un sistema basado en <code style="font-family: Monaco, Courier, monospace; color: #7a2a1b; padding: 0px; margin: 0px;">filemtime()</code> que me permitiera indicar una caché para tiempos diferentes.</p>
<p style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; margin: 0px;">Las soluciones pasaba por comprobar el tipo de contenido y dependiendo de que fuera tomar un tiempo u otro, o crear métodos específicos para cachear por tiempos (<code style="font-family: Monaco, Courier, monospace; color: #7a2a1b; padding: 0px; margin: 0px;">put60()</code>, <code style="font-family: Monaco, Courier, monospace; color: #7a2a1b; padding: 0px; margin: 0px;">put24()</code>,…). Ninguna solución me parecía elegante.</p>
<h3 style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; font-size: 18px; margin: 0px;">Serialize()</h3>
<p style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; margin: 0px;">Entonce recordé <a style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; color: #1b4978; background-color: #e7ecf1; padding: 0px; margin: 0px;" href="http://www.rooftopsolutions.nl/article/107">un artículo de hace ya unos años</a> en los que mediante el uso de<code style="font-family: Monaco, Courier, monospace; color: #7a2a1b; padding: 0px; margin: 0px;"> serialize()</code>permitía hacer lo que estaba buscando.</p>
<p style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; margin: 0px;"><a style="text-decoration: none; outline-style: none; outline-width: initial; outline-color: initial; color: #1b4978; background-color: #e7ecf1; padding: 0px; margin: 0px;" href="http://es2.php.net/serialize"><code style="font-family: Monaco, Courier, monospace; color: #7a2a1b; padding: 0px; margin: 0px;">serialize()</code></a> es una función de PHP que permite convertir un objeto que puede ser fácilmente almacenable. Algo que me venía ideal para hacer que mi caché de ficheros estática fuera más flexible.</p>
<h3 style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; font-size: 18px; margin: 0px;">Código serialize()</h3>
<pre style="margin-top: 0px; margin-right: 30px; margin-bottom: 15px; margin-left: 30px; font-family: Monaco, Courier, monospace; font-size: 12px; -webkit-border-top-right-radius: 9px 9px; -webkit-border-top-left-radius: 9px 9px; -webkit-border-bottom-left-radius: 9px 9px; -webkit-border-bottom-right-radius: 9px 9px; background-color: #112c4a; color: #e7ecf1; overflow-x: auto; overflow-y: auto; padding: 25px; border: 0px initial initial;"><code style="font-family: Monaco, Courier, monospace; color: #e7ecf1; padding: 0px; margin: 0px;">&gt;class Cache {
 var $cacheDir;

 function __construct($cacheDir = './'){
 $this-&gt;cacheDir = $cacheDir;
 }

 // Indicamos el directorio donde queremos alojar los ficheros de caché
 function put( $key , $data ,$time = 600) {

 $h = fopen( $this-&gt;getFileName( $key ) , 'w' );
 if (!$h) throw new Error('No se puede leer el fichero de caché');

 $data = serialize( array( time() + $time , $data ) );

 if ( fwrite( $h , $data ) === false ) {
 throw new Error('No se puede escribir el fichero de caché');
 }
 fclose($h);

 }

 // Obtenemos el nombre del fichero codificado
 private function getFileName($key) {
 return  $this-&gt;cacheDir.md5($key);
 }

 // Recuperamos de caché
 function get($key) {

 $filename = $this-&gt;getFileName($key);
 if (!file_exists($filename) || !is_readable($filename)) return false;

 $data = file_get_contents($filename);

 $data = @unserialize($data);
 if (!$data) {
 unlink($filename);
 return false;
 }
 if (time() &gt; $data[0]) {
 unlink($filename);
 return false;
 }
 return $data[1];
 }
}</code></pre>
<p style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; margin: 0px;">Esta clase ya me permite especificiar de una forma cómoda el tiempo que quiero que se cachee un contenido determinado.</p>
<pre style="margin-top: 0px; margin-right: 30px; margin-bottom: 15px; margin-left: 30px; font-family: Monaco, Courier, monospace; font-size: 12px; -webkit-border-top-right-radius: 9px 9px; -webkit-border-top-left-radius: 9px 9px; -webkit-border-bottom-left-radius: 9px 9px; -webkit-border-bottom-right-radius: 9px 9px; background-color: #112c4a; color: #e7ecf1; overflow-x: auto; overflow-y: auto; padding: 25px; border: 0px initial initial;"><code style="font-family: Monaco, Courier, monospace; color: #e7ecf1; padding: 0px; margin: 0px;">$cache = new Cache('cache/');
if (!$data = $cache-&gt;get('misdatos')) {
 ....
 $cache-&gt;put('misdatos', $misdatos, 60); // 60 seg
}</code></pre>
<h3 style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; font-size: 18px; margin: 0px;">Rendimiento</h3>
<p style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; margin: 0px;">Este sistema es muy cómodo, pero hay que ser conscientes de los problemas de rendimiento que presenta. Hemos de pensar que cada comprobación pasa por leer el contenido del fichero, convertir el objeto serializado y comprobar la fecha de este último.</p>
<p style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; margin: 0px;">Esto, frente a la simple consulta de la última fecha de modificación hace que este método sea considerablemente más lento. Pero por contra es bastante más flexible.</p>
<h3 style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; font-size: 18px; margin: 0px;">Mejoras</h3>
<p style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; margin: 0px;">Bueno, despues de todo el rollo os propongo un juego. ¿Como lo podemos mejorar?</p>
<h4 style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; font-size: 14px; margin: 0px;">Mi opción</h4>
<p style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; margin: 0px;">La opción que estaba barajando era la de generar un fichero con la fecha de caducidad del fichero y el nombre del fichero. De esta forma, únicamente tendría que hacer una lectura de fichero para cargar la fecha de caducidad asociada al fichero y despues mediante <code style="font-family: Monaco, Courier, monospace; color: #7a2a1b; padding: 0px; margin: 0px;">filemtime()</code>comprobar si esta es superior a la especificada.</p>
<p style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; margin: 0px;"><strong>Ejemplo</strong></p>
<pre style="margin-top: 0px; margin-right: 30px; margin-bottom: 15px; margin-left: 30px; font-family: Monaco, Courier, monospace; font-size: 12px; -webkit-border-top-right-radius: 9px 9px; -webkit-border-top-left-radius: 9px 9px; -webkit-border-bottom-left-radius: 9px 9px; -webkit-border-bottom-right-radius: 9px 9px; background-color: #112c4a; color: #e7ecf1; overflow-x: auto; overflow-y: auto; padding: 25px; border: 0px initial initial;"><code style="font-family: Monaco, Courier, monospace; color: #e7ecf1; padding: 0px; margin: 0px;">&lt;?php
...

<strong>// Leer
</strong>$content = file_get_content($file);
$times = unserialize($content);

 if (filemtime($cache_file) &gt; $times[$cache_file]) {
 ....
<strong> // Generamos de nuevo la caché
</strong> $times[$cache_file] = time() + 60; // 60 seg.
 }

<strong>// Grabar
</strong>serialize(array(
 md5("tmp".time()).".cache" =&gt; '123456789'
 ....
));

...
?&gt;</code></pre>
<p style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; margin: 0px;">¿Alguna idea más?</p>
<p style="padding-top: 0px; padding-right: 40px; padding-bottom: 15px; padding-left: 40px; margin: 0px;">Fuente: www.anieto2k.com</p>

<div class="sociable">
<div class="sociable_tagline">
<strong>Share and Enjoy:</strong>
</div>
<ul>
	<li class="sociablefirst"><a rel="nofollow"  target="_blank" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fblog.sanluiscom.com.ar%2Fcacheando-contenido-con-php%2F&amp;t=Cacheando%20contenido%20con%20PHP" title="Facebook"><img src="http://blog.sanluiscom.com.ar/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  target="_blank" href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fblog.sanluiscom.com.ar%2Fcacheando-contenido-con-php%2F&amp;title=Cacheando%20contenido%20con%20PHP&amp;annotation=Hace%20unas%20semanas%20tuve%20que%20implementar%20una%20Class%20para%20cachear%20elementos%20de%20mi%20PHP%20en%20ficheros%20est%C3%A1ticos.%20Inicialmente%20us%C3%A9%20un%20sistema%20similar%20al%20que%20hab%C3%ADa%20usado%20siempre%20basado%20en%20la%20funci%C3%B3n%20filemtime%28%29%20que%20me%20devolv%C3%ADa%20la%20fecha%20de%20modificaci%C3%B3n%20de" title="Google Bookmarks"><img src="http://blog.sanluiscom.com.ar/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  target="_blank" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fblog.sanluiscom.com.ar%2Fcacheando-contenido-con-php%2F&amp;title=Cacheando%20contenido%20con%20PHP&amp;source=Missing+%5BCode%5D+%7BSoftware+Factory%7D&amp;summary=Hace%20unas%20semanas%20tuve%20que%20implementar%20una%20Class%20para%20cachear%20elementos%20de%20mi%20PHP%20en%20ficheros%20est%C3%A1ticos.%20Inicialmente%20us%C3%A9%20un%20sistema%20similar%20al%20que%20hab%C3%ADa%20usado%20siempre%20basado%20en%20la%20funci%C3%B3n%20filemtime%28%29%20que%20me%20devolv%C3%ADa%20la%20fecha%20de%20modificaci%C3%B3n%20de" title="LinkedIn"><img src="http://blog.sanluiscom.com.ar/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  target="_blank" href="http://twitter.com/home?status=Cacheando%20contenido%20con%20PHP%20-%20http%3A%2F%2Fblog.sanluiscom.com.ar%2Fcacheando-contenido-con-php%2F" title="Twitter"><img src="http://blog.sanluiscom.com.ar/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  target="_blank" href="http://www.myspace.com/Modules/PostTo/Pages/?u=http%3A%2F%2Fblog.sanluiscom.com.ar%2Fcacheando-contenido-con-php%2F&amp;t=Cacheando%20contenido%20con%20PHP" title="MySpace"><img src="http://blog.sanluiscom.com.ar/wp-content/plugins/sociable/images/myspace.png" title="MySpace" alt="MySpace" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  target="_blank" href="mailto:?subject=Cacheando%20contenido%20con%20PHP&amp;body=http%3A%2F%2Fblog.sanluiscom.com.ar%2Fcacheando-contenido-con-php%2F" title="email"><img src="http://blog.sanluiscom.com.ar/wp-content/plugins/sociable/images/email_link.png" title="email" alt="email" class="sociable-hovers" /></a></li>
	<li class="sociablelast"><a rel="nofollow"  target="_blank" href="http://blog.sanluiscom.com.ar/feed/" title="RSS"><img src="http://blog.sanluiscom.com.ar/wp-content/plugins/sociable/images/rss.png" title="RSS" alt="RSS" class="sociable-hovers" /></a></li>
</ul>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.sanluiscom.com.ar/cacheando-contenido-con-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Como crear un plugin desde 0 parte 3 ?</title>
		<link>http://blog.sanluiscom.com.ar/como-crear-un-plugin-desde-0-parte-3/</link>
		<comments>http://blog.sanluiscom.com.ar/como-crear-un-plugin-desde-0-parte-3/#comments</comments>
		<pubDate>Sun, 09 Aug 2009 21:08:05 +0000</pubDate>
		<dc:creator>Claudio Marrero</dc:creator>
				<category><![CDATA[Mis Codigos Libres]]></category>
		<category><![CDATA[Mis Notas]]></category>

		<guid isPermaLink="false">http://misnotas.umwtest.com.ar/?p=142</guid>
		<description><![CDATA[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: function admin_menu_consejos() { add_menu_page(&#8216;Consejos&#8217;, &#8216;Consejos&#8217;, 8, &#8216;consejos.php&#8217;, &#8216;admin_consejos&#8217;); add_submenu_page(&#8216;consejos.php&#8217;, &#8216;Agregar&#8217;, &#8216;Agregar&#8217;, 8, &#8216;consejos.php&#8217;, &#8216;admin_consejos&#8217;); add_submenu_page(&#8216;consejos.php&#8217;, &#8216;Modificar&#8217;, &#8216;Modificar&#8217;, 8, &#8216;agregar.php&#8217;, &#8216;admin_modificar_consejo&#8217;); add_submenu_page(&#8216;consejos.php&#8217;, &#8216;Configuraciones&#8217;, &#8216;Configuraciones&#8217;, 8, [...]]]></description>
			<content:encoded><![CDATA[<p>Ya hemos visto bastante de como crear un plugin ahora veremos como agregar un menu al panel de administración.</p>
<p>Aunque muchos crean que estoy es complicado, pues no lo es tanto:</p>
<p><span id="more-142"></span></p>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">function admin_menu_consejos() {</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>add_menu_page(&#8216;Consejos&#8217;, &#8216;Consejos&#8217;, 8, &#8216;consejos.php&#8217;, &#8216;admin_consejos&#8217;);</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>add_submenu_page(&#8216;consejos.php&#8217;, &#8216;Agregar&#8217;, &#8216;Agregar&#8217;, 8, &#8216;consejos.php&#8217;, &#8216;admin_consejos&#8217;);</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>add_submenu_page(&#8216;consejos.php&#8217;, &#8216;Modificar&#8217;, &#8216;Modificar&#8217;, 8, &#8216;agregar.php&#8217;, &#8216;admin_modificar_consejo&#8217;);</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>add_submenu_page(&#8216;consejos.php&#8217;, &#8216;Configuraciones&#8217;, &#8216;Configuraciones&#8217;, 8, &#8216;conf.php&#8217;, &#8216;admin_configuracion&#8217;);</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span></div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">}</div>
<blockquote><p>function admin_menu_plugin() {</p>
<p><span style="white-space: pre;"> </span>add_menu_page(&#8216;Mi Plugin&#8217;, Mi Plugin&#8217;, 8, milugin.php&#8217;, &#8216;admin_consejos&#8217;);</p>
<p><span style="white-space: pre;"> </span>add_submenu_page(&#8216;consejos.php&#8217;, &#8216;Agregar&#8217;, &#8216;Agregar&#8217;, 8, &#8216;consejos.php&#8217;, &#8216;admin_consejos&#8217;);<span style="white-space: pre;"> </span></p>
<p>}</p></blockquote>
<p>add_action(&#8216;admin_menu&#8217;, &#8216;admin_menu_consejos&#8217;);</p>
<p>Como veran es sencillo, ahora la explicamos un poco:</p>
<blockquote><p>add_menu_page(&#8216;Mi Plugin&#8217;, Mi Plugin&#8217;, 8, milugin.php&#8217;, &#8216;admin_plugin&#8217;);</p></blockquote>
<p>esta función nos la provee wordpress como tantas otra, nos crea un item padre en el menu de administración con el titulo Mi Plugin abriendo la pagina miplugin.php la funcion admin_plugin</p>
<p>La función admin_plugin tiene que mostrar las diferentes opciones que queremos configurar de nuestro plugin, aqui radica la imaginación de cada uno y el conocimiento en php que tengamos.</p>
<p>Esta función nos sirve para separar las funciones que queramos modificar del plugin en varios items que dependan del item que agregamos anteriormente, los items se colocan en forma de árbol como lo hace wordpress.</p>
<p>Bueno esta es la tercer entrega, en la proxima entrada publicare el codigo de un plugin completo para que tengan como ejemplo.</p>
<p>Si tienen dudas, comentenme&#8230;</p>

<div class="sociable">
<div class="sociable_tagline">
<strong>Share and Enjoy:</strong>
</div>
<ul>
	<li class="sociablefirst"><a rel="nofollow"  target="_blank" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fblog.sanluiscom.com.ar%2Fcomo-crear-un-plugin-desde-0-parte-3%2F&amp;t=Como%20crear%20un%20plugin%20desde%200%20parte%203%20%3F" title="Facebook"><img src="http://blog.sanluiscom.com.ar/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  target="_blank" href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fblog.sanluiscom.com.ar%2Fcomo-crear-un-plugin-desde-0-parte-3%2F&amp;title=Como%20crear%20un%20plugin%20desde%200%20parte%203%20%3F&amp;annotation=Ya%20hemos%20visto%20bastante%20de%20como%20crear%20un%20plugin%20ahora%20veremos%20como%20agregar%20un%20menu%20al%20panel%20de%20administraci%C3%B3n.%0D%0A%0D%0AAunque%20muchos%20crean%20que%20estoy%20es%20complicado%2C%20pues%20no%20lo%20es%20tanto%3A%0D%0A%0D%0A%0D%0Afunction%20admin_menu_consejos%28%29%20%7B%0D%0A%20add_menu_page%28%27Consejos%27%2C%20%27Co" title="Google Bookmarks"><img src="http://blog.sanluiscom.com.ar/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  target="_blank" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fblog.sanluiscom.com.ar%2Fcomo-crear-un-plugin-desde-0-parte-3%2F&amp;title=Como%20crear%20un%20plugin%20desde%200%20parte%203%20%3F&amp;source=Missing+%5BCode%5D+%7BSoftware+Factory%7D&amp;summary=Ya%20hemos%20visto%20bastante%20de%20como%20crear%20un%20plugin%20ahora%20veremos%20como%20agregar%20un%20menu%20al%20panel%20de%20administraci%C3%B3n.%0D%0A%0D%0AAunque%20muchos%20crean%20que%20estoy%20es%20complicado%2C%20pues%20no%20lo%20es%20tanto%3A%0D%0A%0D%0A%0D%0Afunction%20admin_menu_consejos%28%29%20%7B%0D%0A%20add_menu_page%28%27Consejos%27%2C%20%27Co" title="LinkedIn"><img src="http://blog.sanluiscom.com.ar/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  target="_blank" href="http://twitter.com/home?status=Como%20crear%20un%20plugin%20desde%200%20parte%203%20%3F%20-%20http%3A%2F%2Fblog.sanluiscom.com.ar%2Fcomo-crear-un-plugin-desde-0-parte-3%2F" title="Twitter"><img src="http://blog.sanluiscom.com.ar/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  target="_blank" href="http://www.myspace.com/Modules/PostTo/Pages/?u=http%3A%2F%2Fblog.sanluiscom.com.ar%2Fcomo-crear-un-plugin-desde-0-parte-3%2F&amp;t=Como%20crear%20un%20plugin%20desde%200%20parte%203%20%3F" title="MySpace"><img src="http://blog.sanluiscom.com.ar/wp-content/plugins/sociable/images/myspace.png" title="MySpace" alt="MySpace" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  target="_blank" href="mailto:?subject=Como%20crear%20un%20plugin%20desde%200%20parte%203%20%3F&amp;body=http%3A%2F%2Fblog.sanluiscom.com.ar%2Fcomo-crear-un-plugin-desde-0-parte-3%2F" title="email"><img src="http://blog.sanluiscom.com.ar/wp-content/plugins/sociable/images/email_link.png" title="email" alt="email" class="sociable-hovers" /></a></li>
	<li class="sociablelast"><a rel="nofollow"  target="_blank" href="http://blog.sanluiscom.com.ar/feed/" title="RSS"><img src="http://blog.sanluiscom.com.ar/wp-content/plugins/sociable/images/rss.png" title="RSS" alt="RSS" class="sociable-hovers" /></a></li>
</ul>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.sanluiscom.com.ar/como-crear-un-plugin-desde-0-parte-3/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Como crear un plugin desde 0 parte 2 ?</title>
		<link>http://blog.sanluiscom.com.ar/como-crear-un-plugin-desde-0-parte-2/</link>
		<comments>http://blog.sanluiscom.com.ar/como-crear-un-plugin-desde-0-parte-2/#comments</comments>
		<pubDate>Tue, 04 Aug 2009 15:28:54 +0000</pubDate>
		<dc:creator>Claudio Marrero</dc:creator>
				<category><![CDATA[Mis Codigos Libres]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://misnotas.umwtest.com.ar/?p=84</guid>
		<description><![CDATA[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 [...]]]></description>
			<content:encoded><![CDATA[<p>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.</p>
<p>Repasando lo que vimos antes nuestro plugin habia quedado de la sieguiente manera</p>
<blockquote>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 15px; padding-left: 0px; margin: 0px;"><span style="white-space: pre;">/*<br />
</span>Plugin Name:  Mi plugin</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 15px; padding-left: 0px; margin: 0px;"><span style="white-space: pre;"> </span>Plugin URI: http://misnotas.umwtest.com.ar</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 15px; padding-left: 0px; margin: 0px;"><span style="white-space: pre;"> </span>Description:  Descripcion de tu plugin</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 15px; padding-left: 0px; margin: 0px;"><span style="white-space: pre;"> </span>Version: 1.2</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 15px; padding-left: 0px; margin: 0px;"><span style="white-space: pre;"> </span>Author: Claudio A. Marrero</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 15px; padding-left: 0px; margin: 0px;"><span style="white-space: pre;"> </span>Author URI: http://www.ultimamilla.com.ar</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 15px; padding-left: 0px; margin: 0px;">*/</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 15px; padding-left: 0px; margin: 0px;">function miplugin(){</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 15px; padding-left: 0px; margin: 0px;">echo ‘Hola Mundo’;</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 15px; padding-left: 0px; margin: 0px;">}</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 15px; padding-left: 0px; margin: 0px;">y lo llamamos desde el theme asi&#8230;</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 15px; padding-left: 0px; margin: 0px;">&lt;?php miplugin(); ?&gt;</p>
</blockquote>
<p>Abrimos el archivo “miplugin.php” y nos ponemos crear nuestro plugin.</p>
<p><strong>1. Funcion miplugin().</strong></p>
<p>Editmos la funcion miplugin() para hacer algo un poco mas interezante.</p>
<p>Crearemos una tabla en la base de datos de nuestro wordpress:</p>
<blockquote><p>CREATE TABLE `wp_carousel_opciones` (</p>
<p>`id` int(11) unsigned NOT NULL auto_increment,</p>
<p>`option_name` varchar(150) NOT NULL,</p>
<p>`option_value` text,</p>
<p>PRIMARY KEY  (`id`),</p>
<p>UNIQUE KEY `id` (`id`),</p>
<p>KEY `id_2` (`id`)</p>
<p>) ENGINE=InnoDB AUTO_INCREMENT=0</p></blockquote>
<p><strong>Ahora consultaremos a esta tabla para optener sus registros.</strong></p>
<p>function miplugin(){</p>
<p>global $wpdb; //WordPress nos da esta esto para poder trabajar con la base de datos</p>
<p>$table_name = $wpdb-&gt;prefix .&#8221;carousel_opciones&#8221;; //Prefix es el prefijo que pusimos en la istalacion de nuestro wordpress</p>
<p>$sql = &#8220;SELECT id,option_name,option_value FROM $table_name&#8221;; //La consulta a la tabla (Cargemosle algo, para que nos devuelva algun valor.</p>
<p>$data_carousel = $wpdb-&gt;get_results($sql); //Tenemos en $data_carousel todos los resultados de la consulta.</p>
<p>$res = $data_carousel[0]; //El primer registro del array que nos devolvio get_results</p>
<p>return $res-&gt;option_value; //Devolvemos lo que tenemos en option_value.</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 15px; padding-left: 0px; margin: 0px;">}</p>
<p style="padding-top: 0px; padding-right: 0px; padding-bottom: 15px; padding-left: 0px; margin: 0px;">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.</p>

<div class="sociable">
<div class="sociable_tagline">
<strong>Share and Enjoy:</strong>
</div>
<ul>
	<li class="sociablefirst"><a rel="nofollow"  target="_blank" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fblog.sanluiscom.com.ar%2Fcomo-crear-un-plugin-desde-0-parte-2%2F&amp;t=Como%20crear%20un%20plugin%20desde%200%20parte%202%20%3F" title="Facebook"><img src="http://blog.sanluiscom.com.ar/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  target="_blank" href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fblog.sanluiscom.com.ar%2Fcomo-crear-un-plugin-desde-0-parte-2%2F&amp;title=Como%20crear%20un%20plugin%20desde%200%20parte%202%20%3F&amp;annotation=En%20la%20anterior%20entrada%2C%20vimos%20como%20crear%20un%20plugin%2C%20totalmente%20basico%2C%20ahora%20veremos%20algunas%20funciones%20que%20de%20seguro%20necesitaremos%20si%20por%20ejemplo%20queremos%20consulta%20a%20nuestra%20base%20de%20datos%2C%20a%20alguna%20tabla%20existente%20o%20una%20que%20creemos%20nosotros.%0D%0A%0D%0ARepas" title="Google Bookmarks"><img src="http://blog.sanluiscom.com.ar/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  target="_blank" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fblog.sanluiscom.com.ar%2Fcomo-crear-un-plugin-desde-0-parte-2%2F&amp;title=Como%20crear%20un%20plugin%20desde%200%20parte%202%20%3F&amp;source=Missing+%5BCode%5D+%7BSoftware+Factory%7D&amp;summary=En%20la%20anterior%20entrada%2C%20vimos%20como%20crear%20un%20plugin%2C%20totalmente%20basico%2C%20ahora%20veremos%20algunas%20funciones%20que%20de%20seguro%20necesitaremos%20si%20por%20ejemplo%20queremos%20consulta%20a%20nuestra%20base%20de%20datos%2C%20a%20alguna%20tabla%20existente%20o%20una%20que%20creemos%20nosotros.%0D%0A%0D%0ARepas" title="LinkedIn"><img src="http://blog.sanluiscom.com.ar/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  target="_blank" href="http://twitter.com/home?status=Como%20crear%20un%20plugin%20desde%200%20parte%202%20%3F%20-%20http%3A%2F%2Fblog.sanluiscom.com.ar%2Fcomo-crear-un-plugin-desde-0-parte-2%2F" title="Twitter"><img src="http://blog.sanluiscom.com.ar/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  target="_blank" href="http://www.myspace.com/Modules/PostTo/Pages/?u=http%3A%2F%2Fblog.sanluiscom.com.ar%2Fcomo-crear-un-plugin-desde-0-parte-2%2F&amp;t=Como%20crear%20un%20plugin%20desde%200%20parte%202%20%3F" title="MySpace"><img src="http://blog.sanluiscom.com.ar/wp-content/plugins/sociable/images/myspace.png" title="MySpace" alt="MySpace" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  target="_blank" href="mailto:?subject=Como%20crear%20un%20plugin%20desde%200%20parte%202%20%3F&amp;body=http%3A%2F%2Fblog.sanluiscom.com.ar%2Fcomo-crear-un-plugin-desde-0-parte-2%2F" title="email"><img src="http://blog.sanluiscom.com.ar/wp-content/plugins/sociable/images/email_link.png" title="email" alt="email" class="sociable-hovers" /></a></li>
	<li class="sociablelast"><a rel="nofollow"  target="_blank" href="http://blog.sanluiscom.com.ar/feed/" title="RSS"><img src="http://blog.sanluiscom.com.ar/wp-content/plugins/sociable/images/rss.png" title="RSS" alt="RSS" class="sociable-hovers" /></a></li>
</ul>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.sanluiscom.com.ar/como-crear-un-plugin-desde-0-parte-2/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Como crear un plugin desde 0??</title>
		<link>http://blog.sanluiscom.com.ar/como-crear-un-plugin-desde-0/</link>
		<comments>http://blog.sanluiscom.com.ar/como-crear-un-plugin-desde-0/#comments</comments>
		<pubDate>Tue, 04 Aug 2009 03:59:27 +0000</pubDate>
		<dc:creator>Claudio Marrero</dc:creator>
				<category><![CDATA[Mis Codigos Libres]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://misnotas.umwtest.com.ar/?p=46</guid>
		<description><![CDATA[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 [...]]]></description>
			<content:encoded><![CDATA[<p>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:</p>
<p><strong>1. Todo dentro de una carpeta</strong></p>
<p>Lo mejor es crear una carpeta con el nombre del plugin, trata de ser representativo con el nombre por si quieres publicarlo mas adelante.</p>
<p>Crearemos una carpeta dentro de plugins llamada &#8220;mi_primer_plugin&#8221;.</p>
<p><strong>2. Cabecera y archivos.</strong></p>
<p>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.</p>
<p>Creamos &#8220;miplugin.php&#8221; dentro de la carpeta &#8220;mi_primer_plugin&#8221;</p>
<p>Para que este archivo sea detectado como un plugin es neceesario crear una cabecera con comentarios que debe tener la siguiente estructura:</p>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 77px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>Plugin Name: Carousel Data</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 77px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>Plugin URI: http://misnotas.umwtest.com.ar</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 77px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>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</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 77px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>Version: 1.2</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 77px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>Author: Claudio A. Marrero</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 77px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;"><span style="white-space: pre;"> </span>Author URI: http://www.ultimamilla.com.ar</div>
<blockquote><p><span style="white-space: pre;"> /*<br />
</span> Plugin Name:  Mi plugin</p>
<p><span style="white-space: pre;"> </span>Plugin URI: http://misnotas.umwtest.com.ar</p>
<p><span style="white-space: pre;"> </span>Description:  Descripcion de tu plugin</p>
<p><span style="white-space: pre;"> </span>Version: 1.2</p>
<p><span style="white-space: pre;"> </span>Author: Claudio A. Marrero</p>
<p><span style="white-space: pre;"> </span>Author URI: http://www.ultimamilla.com.ar</p>
<p>*/</p></blockquote>
<p>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.</p>
<p><strong>3. Nuestro Plugin</strong></p>
<p>Siguiendo en el mismo archivo que hemos creado, vamos a empezar a crear nuestro plugin.</p>
<blockquote><p>function miplugin(){</p>
<p>echo &#8216;Hola Mundo&#8217;;</p>
<p>}</p></blockquote>
<p>Asi de facil, ya tenemos un plugin que nos imprime hola mundo, ahora para utilizarlo simplemente en cualquier lugar de tu theme colocas</p>
<p>&lt;?php miplugin(); ?&gt;</p>
<p>y listo, te imprimira hola mundo.</p>
<p>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.</p>
<p>No se olviden de escribirme para colocar sus codigos aqui..</p>

<div class="sociable">
<div class="sociable_tagline">
<strong>Share and Enjoy:</strong>
</div>
<ul>
	<li class="sociablefirst"><a rel="nofollow"  target="_blank" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fblog.sanluiscom.com.ar%2Fcomo-crear-un-plugin-desde-0%2F&amp;t=Como%20crear%20un%20plugin%20desde%200%3F%3F" title="Facebook"><img src="http://blog.sanluiscom.com.ar/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  target="_blank" href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fblog.sanluiscom.com.ar%2Fcomo-crear-un-plugin-desde-0%2F&amp;title=Como%20crear%20un%20plugin%20desde%200%3F%3F&amp;annotation=A%20%20ver%2C%20he%20visto%20varios%20tutoriales%20de%20como%20crear%20tu%20plugin%20para%20wordpress%2C%20pero%20ninguno%20te%20explica%20todos%20las%20cosas%20que%20quieres%2C%20me%20puse%20a%20desarrollar%20mi%20propio%20plugin%2C%20y%20aqui%20explico%20como%20lo%20hice%2C%20de%20paso%20aprendes%20como%20hacer%20tu%20propio%20plugin%3A%0D%0A%0D%0A1.%20T" title="Google Bookmarks"><img src="http://blog.sanluiscom.com.ar/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  target="_blank" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fblog.sanluiscom.com.ar%2Fcomo-crear-un-plugin-desde-0%2F&amp;title=Como%20crear%20un%20plugin%20desde%200%3F%3F&amp;source=Missing+%5BCode%5D+%7BSoftware+Factory%7D&amp;summary=A%20%20ver%2C%20he%20visto%20varios%20tutoriales%20de%20como%20crear%20tu%20plugin%20para%20wordpress%2C%20pero%20ninguno%20te%20explica%20todos%20las%20cosas%20que%20quieres%2C%20me%20puse%20a%20desarrollar%20mi%20propio%20plugin%2C%20y%20aqui%20explico%20como%20lo%20hice%2C%20de%20paso%20aprendes%20como%20hacer%20tu%20propio%20plugin%3A%0D%0A%0D%0A1.%20T" title="LinkedIn"><img src="http://blog.sanluiscom.com.ar/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  target="_blank" href="http://twitter.com/home?status=Como%20crear%20un%20plugin%20desde%200%3F%3F%20-%20http%3A%2F%2Fblog.sanluiscom.com.ar%2Fcomo-crear-un-plugin-desde-0%2F" title="Twitter"><img src="http://blog.sanluiscom.com.ar/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  target="_blank" href="http://www.myspace.com/Modules/PostTo/Pages/?u=http%3A%2F%2Fblog.sanluiscom.com.ar%2Fcomo-crear-un-plugin-desde-0%2F&amp;t=Como%20crear%20un%20plugin%20desde%200%3F%3F" title="MySpace"><img src="http://blog.sanluiscom.com.ar/wp-content/plugins/sociable/images/myspace.png" title="MySpace" alt="MySpace" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  target="_blank" href="mailto:?subject=Como%20crear%20un%20plugin%20desde%200%3F%3F&amp;body=http%3A%2F%2Fblog.sanluiscom.com.ar%2Fcomo-crear-un-plugin-desde-0%2F" title="email"><img src="http://blog.sanluiscom.com.ar/wp-content/plugins/sociable/images/email_link.png" title="email" alt="email" class="sociable-hovers" /></a></li>
	<li class="sociablelast"><a rel="nofollow"  target="_blank" href="http://blog.sanluiscom.com.ar/feed/" title="RSS"><img src="http://blog.sanluiscom.com.ar/wp-content/plugins/sociable/images/rss.png" title="RSS" alt="RSS" class="sociable-hovers" /></a></li>
</ul>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.sanluiscom.com.ar/como-crear-un-plugin-desde-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
