<?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>Jepser Bernardino &#187; wordpress</title>
	<atom:link href="http://jepserbernardino.com/tag/wordpress/feed/" rel="self" type="application/rss+xml" />
	<link>http://jepserbernardino.com</link>
	<description>diseño y desarrollo negocios en internet</description>
	<lastBuildDate>Wed, 25 Jan 2012 04:35:02 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Requests Ajax en tu tema de WordPress, como debe ser</title>
		<link>http://jepserbernardino.com/idea/ajax-en-tu-tema-de-wordpress-como-debe-ser/</link>
		<comments>http://jepserbernardino.com/idea/ajax-en-tu-tema-de-wordpress-como-debe-ser/#comments</comments>
		<pubDate>Sat, 13 Aug 2011 16:59:12 +0000</pubDate>
		<dc:creator>Jepser</dc:creator>
				<category><![CDATA[idea]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://jepserbernardino.com/?p=916</guid>
		<description><![CDATA[Jugando un poco con jQuery y WordPress es algo que me gusta hacer, pero no habia tenido el tiempo de saber como WordPress manejaba los request de Ajax para devolver algo especifico. En este ejemplo solicitaremos una imagen de un post especifico como para una galeria. Antes de empezar Estar familiarizado con el theming de [...]]]></description>
			<content:encoded><![CDATA[<p>Jugando un poco con jQuery y WordPress es algo que me gusta hacer, pero no habia tenido el tiempo de saber como WordPress manejaba los request de Ajax para devolver algo especifico.<span id="more-916"></span></p>
<p>En este ejemplo solicitaremos una imagen de un post especifico como para una galeria.</p>
<h3>Antes de empezar</h3>
<ul>
<li>Estar familiarizado con el theming de WordPress</li>
<li>Saber jQuery y de preferencia haber usado el <a href="http://api.jquery.com/jQuery.ajax/" target="_blank">$.ajax</a> del mismo framework</li>
<li><a href="http://dev.w3.org/html5/spec/Overview.html" target="_blank">HTML5</a></li>
</ul>
<h3>Saber que quierer hacer</h3>
<p>Una de las cosas mas importantes es saber que tengo para enviar y que deseo que me devuelva la consulta. En nuestro caso usaremos los atributos de data de HTML5, el functions.php y una de las funciones que mas me gustan de jQuery, $.ajax.</p>
<h3>Generar el markup</h3>
<pre>&lt;ul class="gallery-list"&gt;
&lt;?php $gallery = new WP_Query('post_type="gallery"&amp;showposts=-1');
  while ($gallery-&gt;have_posts()) : $gallery-&gt;the_post(); ?&gt;
     &lt;li&gt;&lt;a href="&lt;?php the_permalink() ?&gt;" data-id="&lt;?php the_ID(); ?&gt;"&gt;&lt;?php the_title(); ?&gt;&lt;/a&gt;&lt;/li&gt;
  &lt;?php endwhile; ?&gt;
&lt;/ul&gt;</pre>
<pre>&lt;div id="view-port"&gt;&lt;div class="drop"&gt;&lt;/div&gt;&lt;/div&gt;</pre>
<ul>
<li>Con este codigo hacemos un ciclo que busca todos los posts del <a href="http://codex.wordpress.org/Post_Types" target="_blank">post_type</a> Gallery.</li>
<li>El div con ID view-port nos servirá para colocar la imagen que mandaremos a llamar.</li>
</ul>
<h3>El Javascript</h3>
<pre>$('.gallery-list a').click(function(e){
	var tid = $(this).attr('data-id');
	$('#image-viewport .drop').fadeOut(200);
	$.ajax({
		url : '&lt;?php bloginfo('wpurl'); ?&gt;/wp-admin/admin-ajax.php',
		type : 'POST',
		async : false,
		data : { action : 'theid', id : tid },
		success : function(data){
			$('#image-viewport .drop').html(image).fadeIn(400);
		}
	});
	e.preventDefault();
});</pre>
<ul>
<li>A los hipervinculos de el ul.gallery-list al darles click tomamos el atributo data-id que en HTML5 son validos</li>
<li>Hacemos un fadeOut del div que contendrá la información</li>
<li>Hacemos el request de Ajax, donde la url <em>&lt;?php bloginfo(&#8216;wpurl&#8217;); ?&gt;/wp-admin/admin-ajax.php</em> , es la direccion que tiene el control de como WordPress maneja los llamados de Ajax.</li>
<li>El action de la data, es algo muy importante, en este caso yo le he dado <em>theid</em>, podría ser cualquier nombre a fin a la función.</li>
</ul>
<h3>En el tema de WordPress</h3>
<p>Este codigo lo colocamos en el functions.php o en /functions/custom-functions.php en TRF.</p>
<pre>function thumb_caller(){
	if(isset($_POST['id'])){
		$id = $_POST['id'];
		$out  = get_the_post_thumbnail( $id, 'gallery');
		if(!$out){
			$out = '&lt;img src="'. get_bloginfo('stylesheet_directory') .'/images/no-image-950x430.png" width="950" height="430" alt="No image" /&gt;';
		}
	} else {
		$out = _e('No parameter was given...');
	}
	echo $out;
        die();
}
add_action('wp_ajax_nopriv_theid', 'thumb_caller');</pre>
<ul>
<li><em>thumb_caller</em> es mi función que manda a llamar el thumbnail, de tamaño <em>gallery</em> si no tiene thumbnail llamo una imagen del mismo tamano.</li>
<li>Sino existe un parámetro llamado id, simplemente devuelvo un texto</li>
<li>Luego anado esa funcion al hook <em>wp_ajax_nopriv_the_id</em> donde, para que funcione es<strong> wp_ajax_nopriv_[el parametro de action]</strong>, es no_priv porque es para uso del front end, si fuera para uso del backend seria, <strong>wp_ajax_[el parametro de action]</strong></li>
</ul>
<p>Y listo!</p>
]]></content:encoded>
			<wfw:commentRss>http://jepserbernardino.com/idea/ajax-en-tu-tema-de-wordpress-como-debe-ser/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Modificar imagen de Facebook Like en WordPress</title>
		<link>http://jepserbernardino.com/mini-tutoriales/modificar-imagen-de-facebook-like-en-wordpress/</link>
		<comments>http://jepserbernardino.com/mini-tutoriales/modificar-imagen-de-facebook-like-en-wordpress/#comments</comments>
		<pubDate>Wed, 10 Aug 2011 01:30:00 +0000</pubDate>
		<dc:creator>Jepser</dc:creator>
				<category><![CDATA[Mini-tutoriales]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://jepserbernardino.com/?p=909</guid>
		<description><![CDATA[<div><img width="957" height="400" src="http://jepserbernardino.com/wp-content/uploads/2011/08/fb-like.jpg" class="attachment-post-thumbnail wp-post-image" alt="fb-like" title="fb-like" /></div>Como hacer que los thumbnail de la publicación se coloque en la imagen del Facebook Like.]]></description>
			<content:encoded><![CDATA[<div><img width="957" height="400" src="http://jepserbernardino.com/wp-content/uploads/2011/08/fb-like.jpg" class="attachment-post-thumbnail wp-post-image" alt="fb-like" title="fb-like" /></div><p>Muchas veces me habia topado que no salian las imagenes que yo queria en los Facebook Like. Me puse a investigar un poco y listo:<span id="more-909"></span></p>
<pre>function img_fb(){
	$thumbid = get_post_thumbnail_id();
	$thumbsrc = wp_get_attachment_image_src( $thumbid );
	if($thumbsrc){
		echo '&lt;meta property="og:image" content="' . $thumbsrc[0] . '" /&gt;';
	}
}

add_action('wp_head', 'img_fb');</pre>
<ul>
<li>La función se coloca en el functions.php de tu tema, les explico que hace:</li>
<li>La funcion toma el ID del thumbnail de la publicacion actual</li>
<li>Luego toma la ruta fuente del archivo basado en el ID anterior</li>
<li>Si existe este, imprime el tag de Open Graphic utilizado por Facebook</li>
<li>Esta funcion la anadimos al wp_head y listo!</li>
</ul>
<p>Ya tienes las fotos de thumbnail en tus Likes!</p>
<p><em>Cabe mencionar que esta funcion vendra incluida en mi nuevo framework para temas de WordPress, The Royal Framework.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://jepserbernardino.com/mini-tutoriales/modificar-imagen-de-facebook-like-en-wordpress/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>WordPress como CMS, los plugins y guidelines</title>
		<link>http://jepserbernardino.com/idea/wordpress-como-cms-los-plugins-y-guidelines/</link>
		<comments>http://jepserbernardino.com/idea/wordpress-como-cms-los-plugins-y-guidelines/#comments</comments>
		<pubDate>Thu, 17 Feb 2011 15:46:17 +0000</pubDate>
		<dc:creator>Jepser</dc:creator>
				<category><![CDATA[idea]]></category>
		<category><![CDATA[cms]]></category>
		<category><![CDATA[diseño web]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://jepserbernardino.com/?p=841</guid>
		<description><![CDATA[Puede que pienses que artículos como este ya están quemados, pero quiero hacerlo a mi manera. He leído unos cuantos por allí pero se quedan a medias o a mi criterio he encontrado mejores soluciones. La configuración WordPress (como todos saben) empezó como una solución para crear blogs de la manera correcta, desde sus principios [...]]]></description>
			<content:encoded><![CDATA[<p>Puede que pienses que artículos como este ya están quemados, pero quiero hacerlo a mi manera. He leído unos cuantos por allí pero se quedan a medias o a mi criterio he encontrado mejores soluciones.<span id="more-841"></span></p>
<h2>La configuración</h2>
<p>WordPress (como todos saben) empezó como una solución para crear blogs de la manera correcta, desde sus principios (<em>Code is poetry</em>) WordPress se ha caracterizado por su forma distinta de; publicar y construir los sitios web. Para crear un sitio web basado en WordPress lo primero son las configuraciones.</p>
<p>Crear una template para Homepage</p>
<p>La mayoría de veces no necesitamos los últimos post al principio, por eso debemos crear un template para la Página de inicio. Lo más fácil es copiar tu page.php y nombrarlo homepage.php por ejemplo. Agregar un comentario para que WordPress identifique que es un template de página.</p>
<pre>/*
Template Name : Homepage (o Inicio)
*/</pre>
<p>Luego que la creamos la modificamos según nuestro diseño y la configuramos como página de inicio.</p>
<p>Con eso ya cambiamos la vista, pero más que eso tenemos que basarnos en ciertas otras características que ahora ya son indispensables y a lo que voy.</p>
<h2>Funcionalidad</h2>
<h3>Gravity Forms</h3>
<p><img class="alignnone" src="http://gravityforms.s3.amazonaws.com/banners/300x250.gif" alt="Gravity Forms" width="300" height="250" /></p>
<p>Este es un sistema completo de formularios, donde no solo podrás enviar formas de contacto sino también construir aplicaciones, por ejemplo o cualquier cosa que requiera recopilar datos, pues Gravity Forms te da la opción desde mandar datos de un formulario de contactos hasta opciones como crear posts, formularios para pagos en línea, Add-ons con Paypal y Mailchimp. Por mi parte he creado implementaciones con sistemas de cotizadores en línea, sistema de tickets, aplicaciones para puestos, entre otras cosas.</p>
<p>Este tiene una ventaja grande sobre sus similares (Contact 7, cForms II) ya que es mucho más flexible y a pesar que no tiene mucha documentación oficial, el foro es muy activo y encuentras casi siempre respuesta a preguntas que a ti te puedan surgir.</p>
<p>Ejemplos: <a href="http://multyprint.com" target="_blank">Multyprint</a>, <a href="http://royalestudios.com" target="_blank">Royal Estudios</a>, <a href="http://inlexca.org" target="_blank">Inlexca</a>, <a href="http://joyasmiguelangel.com" target="_blank">Joyas Miguelángel</a> | <a href="http://gravityforms.com" target="_blank">Sitio del plugin</a></p>
<h3>WPML</h3>
<p><img class="alignnone size-full wp-image-843" title="2011-02-17_0914" src="http://jepserbernardino.com/wp-content/uploads/2011/02/2011-02-17_0914.png" alt="" width="311" height="131" /></p>
<p>Hace muy poco WPML se hizo comercial, sin embargo no es un pero para poder tenerlo en el sitio web. Más que solo un plugin, hace que WordPress se convierta en un CMS poderosísimo para manejar contenidos multilingües. Y es tan fácil que con que utilices las<a href="http://codex.wordpress.org/Function_Reference/_e"> etiquetas de traducción</a> de WordPress estás hecho. Las etiquetas, categorías, taxonomías, post-types, y todo está administrado por WPML sin ningún problema.</p>
<p>Ejemplos: <a href="http://elcazadoritaliano.com" target="_blank">Cazador Italiano</a>, <a href="http://galileo.edu" target="_blank">Universidad Galileo</a>, <a href="http://casaescobar.com.gt" target="_blank">Casa Escobar</a>, <a href="http://hotelislaverde.com" target="_blank">Hotel Islaverde</a> | <a href="http://wordpress.org/extend/plugins/sitepress-multilingual-cms/" target="_blank">Descargar</a> | <a href="http://wpml.org/">Sitio del plugin</a></p>
<h3>More fields</h3>
<p>Ya deben de saber sobre Magic Fields (anteriormente Flutter), Custom Fields Template, Simple Fields entre otras opciones. Pues para mí, la mejor opción es More fields, me topé con que simple fields es muy bueno del lado del administrador pero no tan bueno en el templating. Magic Fields es muy poderoso también sin embargo no tiene aún soporte para Post Types que esperemos tenga en su versión próxima.</p>
<p>Uso More fields para extender la funcionalidad de WordPress, haciendo más bonita la forma de ingresar los datos en los custom Fields</p>
<p><a href="http://wordpress.org/extend/plugins/more-fields/" target="_blank">Descargar</a> | <a href="http://more-plugins.se/plugins/more-fields/">Página de plugin</a></p>
<h3>Custom Posttype UI</h3>
<p>Este plugin lo utilizo cuando deberas es necesario por que de otro modo puedo incluir los posttypes y taxonomías dentro de functions. Pero que sino, talvez quiero cambiar algo y en vez de hacer la rutina de modificar el functions.php y subirlo al FTP no es lo que quiero o porque son muchos los posttypes que hago, pienso que es mejor ya que tiene un administrador que además de ser para posttypes, también lo es para taxonomías.</p>
<p>Es decir, puedo manejar taxonomías y posttypes con el mismo plugin, cambiar las opciones y que no se me arruine lo que estoy haciendo.</p>
<p><a href="http://wordpress.org/extend/plugins/custom-post-type-ui/" target="_blank">Descargar</a></p>
<h2>Herramientas</h2>
<h3>Feedburner</h3>
<p>Una de las grandes ventajas de tener Feedburner en tu sitio es que ya no te preocupas de manejar las suscripciones por tu sitio web, no cargas base de datos y le estás dejando el trabajo a los que saben de ello. Al tener un espacio de suscripción de contenidos, tienes a gente que está leyendote ya que todas tus actualizaciones llegan ya sea a su Reader o a su bandeja de correos.</p>
<h3>Capability Manager</h3>
<p>Cuando le damos a nuestros clientes la opción de poder modificar el contenido del sitio (agregar entradas de blog por ejemplo) con este plugin podemos manejar hasta donde puede llegar el cliente, esto sirve para quitar las opciones de modificar los Ajustes de WordPress y poder desempañar tareas específicas.</p>
<p><a href="http://wordpress.org/extend/plugins/capsman/">Descargar</a></p>
<h3>Revision Control</h3>
<p>Cuando los proyectos son muy grandes y/o hay mucha gente involucrada en ingresar contenidos es un buen momento para utilizar este plugin, que te añade la opción de poder comparar versiones de posts y páginas. Para, si hay algo malo, regresarlo a una versión anterior y corregir el error.</p>
<p><a href="http://wordpress.org/extend/plugins/revision-control/" target="_blank">Descargar</a></p>
<h3>Query multiple taxonomies</h3>
<p>Un inconveniente que tenemos cuando hacemos búsquedas personalizadas dentro de WordPress es que si tiene más de 2 taxonomías WordPress por default elimina todas y al final solo de una, la primera. Esto se soluciona con este plugin.</p>
<p><a href="http://wordpress.org/extend/plugins/query-multiple-taxonomies/" target="_blank">Descargar</a> | <a href="http://scribu.net/wordpress/query-multiple-taxonomies">Página de plugin</a></p>
<h2>Performance</h2>
<h3>All in one SEO pack</h3>
<p>Este plugin en una maravilla para poder mejorar el SEO para tu sitio web, puedes manejar independiente las keywords, modificar el título, descripción para cada página o post, además de configuraciones generales para cambiar el title dependiendo la sección, escribir las keywords y descripción del sitio.</p>
<p><a href="http://wordpress.org/extend/plugins/all-in-one-seo-pack/">Descargar</a> | <a href="http://semperfiwebdesign.com/blog/all-in-one-seo-pack/all-in-one-seo-faq/">Página de plugin</a></p>
<h3>XML Sitemap</h3>
<p>Una buena indexación se hace más rápido cuando se le proporciona a Google un sitemap, además de poder agregar la funcionalidad de Webmaster Tools de Google. Este plugin general XML con los sitemaps cada tiempo que se programe, además manda notificaciones de cambios en el sitemap a Google, Yahoo y otros servicios.</p>
<p><a href="http://wordpress.org/extend/plugins/google-sitemap-generator/" target="_blank">Descargar</a> | <a href="http://www.arnebrachhold.de/projects/wordpress-plugins/google-xml-sitemaps-generator/">Página de plugin</a></p>
<h3>WP Super Cache</h3>
<p>Cuando tu sitio web va a recibir muchas visitas y no quieres cargar al servidor de queries, esta a mi parecer es la mejor opción. Me ha funcionado muy bien y realmente agiliza la entrega de páginas cacheadas a que el servidor las cree directamente.</p>
<p><a href="http://wordpress.org/extend/plugins/wp-super-cache/">Descargar</a> | <a href="http://ocaoimh.ie/wp-super-cache/">Página de plugin</a></p>
<h2>Theming</h2>
<p>Recordemos que una buena base para poder crear sitios escalables es pensar en todas las posibilidades.</p>
<h3>Internacionalización (_e)</h3>
<p>Hay un tag de WordPress llamado _e o __ que sirver para poder tener dominios de texto para cuando deseamos traducir el tema para posteriormente utilizarlo en un sitio multilingüe.</p>
<p>Si quiero hacer echo del texto:</p>
<pre> &lt;?php _e('aquí va mi texto','el dominio de texto de mi tema, sin espacios') ?&gt;</pre>
<p>Si quiero guardarlo para utilizarlo junto a una variable:</p>
<pre> &lt;?php __('aqui va el texto con $variable','el dominio de texto de mi tema, sin espacio') ?&gt;</pre>
<p><a href="http://codex.wordpress.org/Function_Reference/_e" target="_blank">Más información de la función</a></p>
<h2>The Royal Framework</h2>
<p>Creo que es buen momento para comentar que he estado trabajando en un proyecto para WordPress que hasta el momento a soportado ya varios sitios que hecho a mis clientes. He visto, usado e implementado algunos de los &#8220;Frameworks&#8221; para WordPress, que no son más que temas padres y no me quedo satisfecho, sin embargo me topé que 2 que vale mencionar y que en ellos me base para crear mi propio framework:</p>
<p><em>Carrington Framework</em> &#8211; Carrington es un punto de partida muy bueno para desarrolladores más avanzados sin embargo cambia el workflow a su manera, que si bien ellos lo explican, no es para mi bueno migrar de una forma estándar para hacer temas a una específica.</p>
<p><em>Sandbox</em> &#8211; este más que un framework es un tema base sin estilos y un markup bastante limpio. Me gusta la sencillez con la que se pueden hacer temas con Sandbox, pero dado a su simpleza faltan un poco de características para poder hacerlo más poderoso.</p>
<h3>Ahora si, TRF</h3>
<p>Como les mencioné me basé en estos 2 ejemplos y requerimientos que tenía en la mayoría de sitios. Una de las ventajas que tiene TRF a comparación a Carrington es que no se cambia practicamente nada con el workflow normal para hacer una plantilla. Más bien, para poder implementarlo a tu tema solo necesitas cambiar una línea de código de functions.php y pegar las carpetas de The Royal Core que es el corazón del framework. Las caracteríticas del framework más importantes son las siguientes:</p>
<ul>
<li>Cuenta con panel de opciones nativo, que con un poco de conocimiento en PHP podrás expander según tus necesidades.</li>
<li>Opciones socialmedia, por default TRF tiene un badge para mostrar tu perfil de Facebook y tu feed the Twitter ya se en un widget o con un tag nativo de wordpress get_option(&#8216;twitter&#8217;);</li>
<li>Feedburner integrado, con solo colocar tu dirección de feed para el sitio y para los comentarios.</li>
<li>Google analytics, puedes pegar tu código de google analytics en las opciones de tema y listo.</li>
<li>Breadcrumbs integrado, con pegar el código get_opcion(&#8220;the_breadcrums&#8221;); en el tema se habilitan o desabilitan según tu elección</li>
<li>Tu tema será más ordenado, en la carpeta de includes se alojaran piezas de código que reusarás solo con llamarlas get_block(&#8220;el nombre del archivo&#8221;);</li>
<li>Listo para 960 grid system.</li>
<li>Listo con traducción al español.</li>
<li>He agregado varios shortcodes y funciones para facilitar muchas necesidades que exiten y no hay funciones directas que las satisfagan.</li>
<li>Y se agregan más&#8230;</li>
</ul>
<p>Ahora voy por la versión .4 tengo que hacerle unos ajustes más y una vez esté en la versión .5 la liberaré para que prueben el framework, espero que lo utilicen para poder hacer sitios más poderosos y escalables.</p>
<p style="text-align: center;"><img class="size-full wp-image-844 aligncenter" title="2011-02-17_0915" src="http://jepserbernardino.com/wp-content/uploads/2011/02/2011-02-17_0915.png" alt="" width="643" height="461" /></p>
]]></content:encoded>
			<wfw:commentRss>http://jepserbernardino.com/idea/wordpress-como-cms-los-plugins-y-guidelines/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Mostrar últimos tweets sin plugin en WordPress</title>
		<link>http://jepserbernardino.com/mini-tutoriales/mostrar-ultimos-tweets-sin-plugin-en-wordpress/</link>
		<comments>http://jepserbernardino.com/mini-tutoriales/mostrar-ultimos-tweets-sin-plugin-en-wordpress/#comments</comments>
		<pubDate>Wed, 15 Dec 2010 06:32:04 +0000</pubDate>
		<dc:creator>Jepser</dc:creator>
				<category><![CDATA[Mini-tutoriales]]></category>
		<category><![CDATA[desarrollo]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://jepserbernardino.com/?p=836</guid>
		<description><![CDATA[Estuve buscando por algunas horas como hacerlo, sin embargo no encontré alguna manera fácil de lograrlo. Luego encontré el código que twitter proporciona pero no quería tener que colocarlo en el tema y es que hay muchos plugins con mucha funcionalidad para WordPress, pero que si yo solo quiero lo básico mostrar N cantidad de [...]]]></description>
			<content:encoded><![CDATA[<p>Estuve buscando por algunas horas como hacerlo, sin embargo no encontré alguna manera fácil de lograrlo. Luego encontré el código que twitter proporciona pero no quería tener que colocarlo en el tema y es que hay muchos plugins con mucha funcionalidad para WordPress, pero que si yo solo quiero lo básico mostrar N cantidad de plugins sin tener que instalar un plugin y tenerlo como widget.<span id="more-836"></span></p>
<p>Solo tienes que copiar el siguiente código en tu functions.php o en royal-core/plugins.php en el nuevo framework para temas de WordPress que estaré lanzando el próximo mes y listo tienes ¡Twitter en tu sitio!</p>
<pre>&lt;?php</pre>
<pre>/**</pre>
<pre>* DisplayTweet Class</pre>
<pre>*/</pre>
<pre>class DisplayTweet extends WP_Widget {</pre>
<pre>/** constructor */</pre>
<pre>function DisplayTweet() {</pre>
<pre>$widget_ops = array('classname' =&gt; 'widget_lastest_tweets', 'description' =&gt; 'A list with your twitter feed' );</pre>
<pre>$this-&gt;WP_Widget('display_tweets', 'Display Tweets', $widget_ops);</pre>
<pre>}</pre>
<pre>/** @see WP_Widget::widget */</pre>
<pre>function widget($args, $instance) {</pre>
<pre>extract( $args );</pre>
<pre>/* User-selected settings. */</pre>
<pre>$title = apply_filters('widget_title', $instance['title'] );</pre>
<pre>$name = $instance['username'];</pre>
<pre>$limit = $instance['limit'];</pre>
<pre>/* Before widget (defined by themes). */</pre>
<pre>echo $before_widget;</pre>
<pre>/* Title of widget (before and after defined by themes). */</pre>
<pre>if ( $title )</pre>
<pre>echo $before_title . '&lt;a href="http://twitter.com/'. $name .'"&gt;' . $title . '&lt;/a&gt;' . $after_title;</pre>
<pre>/* Display name from widget settings. */</pre>
<pre>if (empty($limit)) { $limit = 1; }</pre>
<pre>if ( $name ) {</pre>
<pre>$output = '&lt;ul id="twitter_update_list"&gt;&lt;li&gt;&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;';</pre>
<pre>$output .= '&lt;script type="text/javascript" src="http://twitter.com/javascripts/blogger.js"&gt;&lt;/script&gt;';</pre>
<pre>$output .= '&lt;script type="text/javascript" src="http://twitter.com/statuses/user_timeline/'. $name .'.json?callback=twitterCallback2&amp;amp;count='. $limit .'"&gt;&lt;/script&gt;';</pre>
<pre>echo $output;</pre>
<pre>}</pre>
<pre>/* After widget (defined by themes). */</pre>
<pre>echo $after_widget;</pre>
<pre>}</pre>
<pre>/** @see WP_Widget::update */</pre>
<pre>function update( $new_instance, $old_instance ) {</pre>
<pre>$instance = $old_instance;</pre>
<pre>/* Strip tags (if needed) and update the widget settings. */</pre>
<pre>$instance['title'] = strip_tags( $new_instance['title'] );</pre>
<pre>$instance['username'] = strip_tags( $new_instance['username'] );</pre>
<pre>$instance['limit'] = $new_instance['limit'];</pre>
<pre>return $instance;</pre>
<pre>}</pre>
<pre>/** @see WP_Widget::form */</pre>
<pre>function form($instance) {</pre>
<pre>$title = esc_attr($instance['title']);</pre>
<pre>$name = esc_attr($instance['username']);</pre>
<pre>$limit = esc_attr($instance['limit']);</pre>
<pre>?&gt;</pre>
<pre>&lt;p&gt;&lt;label for="&lt;?php echo $this-&gt;get_field_id('title'); ?&gt;"&gt;&lt;?php _e('Title:'); ?&gt; &lt;input id="&lt;?php echo $this-&gt;get_field_id('title'); ?&gt;" name="&lt;?php echo $this-&gt;get_field_name('title'); ?&gt;" type="text" value="&lt;?php echo $title; ?&gt;" /&gt;&lt;/label&gt;&lt;/p&gt;</pre>
<pre>&lt;p&gt;&lt;label for="&lt;?php echo $this-&gt;get_field_id('username'); ?&gt;"&gt;&lt;?php _e('Username:'); ?&gt; &lt;input id="&lt;?php echo $this-&gt;get_field_id('username'); ?&gt;" name="&lt;?php echo $this-&gt;get_field_name('username'); ?&gt;" type="text" value="&lt;?php echo $name; ?&gt;" /&gt;&lt;/label&gt;&lt;/p&gt;</pre>
<pre>&lt;p&gt;&lt;label for="&lt;?php echo $this-&gt;get_field_id('limit'); ?&gt;"&gt;&lt;?php _e('Number of Tweets:'); ?&gt; &lt;input id="&lt;?php echo $this-&gt;get_field_id('limit'); ?&gt;" name="&lt;?php echo $this-&gt;get_field_name('limit'); ?&gt;" type="text" value="&lt;?php echo $limit; ?&gt;" /&gt;&lt;/label&gt;&lt;/p&gt;</pre>
<pre>&lt;?php</pre>
<pre>}</pre>
<pre>} // class DisplayTweet</pre>
<pre>add_action('widgets_init', create_function('', 'return register_widget("DisplayTweet");')); ?&gt;</pre>
]]></content:encoded>
			<wfw:commentRss>http://jepserbernardino.com/mini-tutoriales/mostrar-ultimos-tweets-sin-plugin-en-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Crear dropdowns anidados con categorías/taxonomías en WordPress</title>
		<link>http://jepserbernardino.com/mini-tutoriales/crear-anidados-con-categoriastaxonomias-en-wordpress/</link>
		<comments>http://jepserbernardino.com/mini-tutoriales/crear-anidados-con-categoriastaxonomias-en-wordpress/#comments</comments>
		<pubDate>Fri, 10 Sep 2010 06:03:02 +0000</pubDate>
		<dc:creator>Jepser</dc:creator>
				<category><![CDATA[Mini-tutoriales]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://jepserbernardino.com/?p=826</guid>
		<description><![CDATA[En estos últimos proyectos he estado aprendiendo mucho de WordPress y creo que es bueno poder compartir un poco de lo que aprendo con tutoriales pequeñitos pero útiles para tu próximo proyecto. El problema Deseo mostrar solo los hijos de una categoría dependiendo del padre que se elige, por ejemplo; tengo un blog de tecnología [...]]]></description>
			<content:encoded><![CDATA[<p>En estos últimos proyectos he estado aprendiendo mucho de WordPress y creo que es bueno poder compartir un poco de lo que aprendo con tutoriales pequeñitos pero útiles para tu próximo proyecto.<span id="more-826"></span></p>
<h2>El problema</h2>
<p>Deseo mostrar solo los hijos de una categoría dependiendo del padre que se elige, por ejemplo; tengo un blog de tecnología y la jerarquía de categorías es así:</p>
<ul>
<li>Internet
<ul>
<li>Servidores</li>
<li>CMS</li>
<li>html/css</li>
</ul>
</li>
<li>OS
<ul>
<li>Windows</li>
<li>Mac/OS</li>
<li>Linux</li>
</ul>
</li>
<li>Gargets
<ul>
<li>Móviles</li>
<li>Computadoras</li>
<li>Otros</li>
</ul>
</li>
</ul>
<p>Y en mi búsqueda yo deseo dependiendo el padre (internet, OS, Gargets) mostrar los hijos.</p>
<h2>Las bases</h2>
<p>Sabemos que las categorías son una taxonomía predefinida de WordPress  que es jerárquica es decir, tiene niveles. Niveles que podemos controlar con funciones de WordPress o creando funciones por medio de filtros.</p>
<p>Utilizaremos el plugin de jquery <a href="http://www.appelsiini.net/2010/jquery-chained-selects" target="_blank">Chained Selects</a> y con eso haremos que nuestro concatenado funcione.</p>
<p>Para categorías/taxonomías, primero creamos una función (como la que utilizamos para el tutorial de búsqueda avanzada) y luego la modificamos para usarlas, no se preocupen explicaré cada paso.</p>
<h2>¡Y el tutorial!</h2>
<p>Primero creamos la función que nos listará nuestros elementos padres (los de primer nivel).</p>
<p><code>function get_parent_terms_dropdown($taxonomies, $args, $selectid){<br />
$myterms = get_terms($taxonomies, $args);<br />
$output ="&lt;select id='". $selectid ."'&gt;";<br />
foreach($myterms as $term){<br />
$root_url = get_bloginfo('url');<br />
$term_taxonomy=$term-&gt;taxonomy;<br />
$term_slug=$term-&gt;slug;<br />
$term_name =$term-&gt;name;<br />
$link = $term_slug;<br />
$output .="&lt;option value='".$term_name."'&gt;".$term_name."&lt;/option&gt;";<br />
}<br />
$output .="&lt;/select&gt;";<br />
return $output;<br />
}</code></p>
<p>Esta función recoge 3 parámetros:</p>
<ul>
<li><strong>$taxonomies</strong> que es la taxonomía (si quieres listar categorías, escribes category). La razón por la que la hago así es para tener una función que nos de los 2 resultados que deseamos para taxonomías y para categorías (por eso no utilizo get_category() ).</li>
<li><strong>$arg</strong> que son los argumentos de filtrado, los puedes encontrar en la referencia de <a href="http://codex.wordpress.org/Function_Reference/get_terms" target="_blank">get_terms()</a>.</li>
<li><strong>$selectid</strong> es el nombre que le pondremos a nuestro select para luego llamarlo con javascript.</li>
</ul>
<h3>La función que llama a las subcategorías de nuestra taxonomía</h3>
<p>Esta función es muy parecida, simplemente que envuelve un loop dentro de otro, usando el parámetro del padre para poder obtener los hijos.</p>
<p><code>function get_child_terms_dropdown($taxonomies, $args){<br />
$mychildterms = get_terms($taxonomies, $args);<br />
$output = ''; //creo una variable para la cual mostraré las opciones del select<br />
foreach($mychildterms as $term){<br />
$term_name =$term-&gt;name;<br />
$termino = $term_name;<br />
$existe_termino =  term_exists( $termino, $taxonomies);<br />
$termino_id = $existe_termino['term_id'];<br />
//genero otro loop con los argumentos donde el importante es child_of<br />
$child_args = array('orderby'=&gt;'name','hide_empty'=&gt;false,'child_of'=&gt;$termino_id);<br />
$child_terms = get_terms($taxonomies, $child_args);<br />
foreach($child_terms as $child_term) {<br />
$child_name = $child_term-&gt;name;<br />
$child_slug = $child_term-&gt;slug;<br />
$output .="&lt;option class='". $term_name ."' value='".$child_slug."'&gt;".$child_name."&lt;/option&gt;";<br />
}<br />
}<br />
return $output;</code></p>
<p>Ahora ya que tenemos las funciones en functions.php, es hora de la magía.</p>
<h2>Modificando el template</h2>
<p>Una vez tenemos las funciones es lo más simple. Abres la parte donde quieres tener tu formulario de categorías (taxonomías) concatenado. Y pegas el siguiene código.</p>
<p><code>&lt;form method="get" id="searchform" action="&lt;?php bloginfo('home'); ?&gt;/"&gt;<br />
&lt;?php<br />
$taxonomies = 'ubicacion'; //eliges la taxonomía que deseas mostrar<br />
$selectid = 'mark'; //este es el id para tu chain<br />
$args = array('orderby'=&gt;'name','hide_empty'=&gt;false,'parent'=&gt;0);<br />
$ubicacion_select = get_parent_terms_dropdown($taxonomies, $args, $selectid); ?&gt;<br />
&lt;?php echo $ubicacion_select; ?&gt;<br />
&lt;?php<br />
$area_child_select = get_child_terms_dropdown($taxonomies, $args); ?&gt;<br />
&lt;select id="series" name="&lt;?php echo $taxonomies; ?&gt;"&gt;<br />
&lt;?php echo $area_child_select; ?&gt;<br />
&lt;/select&gt;<br />
&lt;input name="Buscar" type="submit" value="Buscar" /&gt;<br />
&lt;/form&gt;<br />
</code></p>
<p>Elegí &#8220;series&#8221; por que  ya está así en el tutorial de chained selects, pero lo pueden cambiar por el que deseen.</p>
<p>Esto hará que tengamos 2 selects, uno con los términos padres y otro con todos los términos hijos.</p>
<h2>Haciendo mágia, el javascript</h2>
<p>Una vez tenemos nuestros selects con sus respectivos id&#8217;s, en nuestro ejemplo mark y series. Agregamos el script de <a href="http://jquery.com" target="_blank">Jquery</a> y <a href="http://www.appelsiini.net/download/jquery.chained.js" target="_blank">Chained Selects</a> y luego este script.</p>
<p><code>jQuery(function ($) {<br />
$("#series").chained("#mark");<br />
});</code></p>
<p>Esto dentro de las etiquetas &lt;script type=&#8221;text/javascript&#8221;&gt;&lt;/script&gt; utilizo jQuery por que así me ahorro posibles conflictos de javascript con otras librerías.</p>
<p>¡Y eso es todo! ¡Ya tenemos nuestro buscador con categorías contactenadas!</p>
]]></content:encoded>
			<wfw:commentRss>http://jepserbernardino.com/mini-tutoriales/crear-anidados-con-categoriastaxonomias-en-wordpress/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>¡WordPress 3.0 lo que se viene!</title>
		<link>http://jepserbernardino.com/idea/wordpress-3-0-lo-que-se-viene/</link>
		<comments>http://jepserbernardino.com/idea/wordpress-3-0-lo-que-se-viene/#comments</comments>
		<pubDate>Sat, 10 Apr 2010 06:27:32 +0000</pubDate>
		<dc:creator>Jepser</dc:creator>
				<category><![CDATA[idea]]></category>
		<category><![CDATA[cms]]></category>
		<category><![CDATA[desarrollo]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://jepserbernardino.com/?p=770</guid>
		<description><![CDATA[¡Lo que se viene con WordPress está increíble! Como parte de mi gusto por este ya CMS, me enteré (ya hace algunos días) de la versión 3.0 beta 1 y decidí instalarla como subdominio en mi servidor local. Y que cosas encontré entre las cuales puedo listar: Que se han unido WordPress y WordPress MU. Con [...]]]></description>
			<content:encoded><![CDATA[<p>¡Lo que se viene con WordPress está increíble! Como parte de mi gusto por este ya CMS, me enteré (ya hace algunos días) de la versión 3.0 beta 1 y decidí instalarla como <a href="http://jepserbernardino.com/idea/instalacion-de-wamp-para-windows-vista/">subdominio en mi servidor local</a>.</p>
<p>Y que cosas encontré entre las cuales puedo listar:</p>
<ul>
<li>Que se han unido WordPress y WordPress MU. Con unas simples <a href="http://codex.wordpress.org/User:Andrea/Create_A_Network">configuraciones e instrucciones</a> podemos hacer eso</li>
<li>Se están enfocando a hacerlo más usable</li>
<li>Recuerden que solo con un tag podemos hacer que WordPress tenga <a href="http://codex.wordpress.org/Template_Tags/get_the_post_thumbnail">thumbnails nativos</a>.</li>
<li>Eliges tu usuario, pues ya no es el &#8220;admin&#8221; por default (¡me encanta eso!)</li>
</ul>
<p><span id="more-770"></span></p>
<h2>Pero las características que más me llamaron la atención están</h2>
<ul>
<li>Nueva forma de instalar temas, mucha más usable</li>
<li>Nuevo tema de default. Se llama Twenty Ten en su versión 0.7</li>
<li>Podríamos utilizarlo como framework, Ia Stewart nos explica como en su post de <a href="http://go2.wordpress.com/?id=725X1342&amp;site=2010dev.wordpress.com&amp;url=http%3A%2F%2Fthemeshaper.com%2Fwordpress-child-theme-basics%2F&amp;sref=http%3A%2F%2F2010dev.wordpress.com%2F2010%2F02%2F23%2Frecent-developments%2F">temas hijos</a>.</li>
<li>Los thumbnails los tiene por defecto y pueden cambiar la cabecera del tema</li>
<li>Tiene 2 sidebards diferentes y 4 sidebars en el footer</li>
<li>Código limpio y semántico</li>
<li>Opciones de fondo (interesantes)</li>
<li>Opciones de imagen de header</li>
<li>¡Podremos crear menús! Una de las opciones que más me gusto (aún está en desarrollo pero estará genial)</li>
</ul>
<div class="grid_3 cite" style="text-align: right;">Así es como se ve ahora la opción de menú. Se pueden agregar como ítem de menú páginas, enlaces externos o categorías.</div>
<div class="grid_9">
<div id="attachment_771" class="wp-caption alignnone" style="width: 710px"><img class="size-full wp-image-771" title="new-menu-wp3" src="http://jepserbernardino.com/wp-content/uploads/2010/04/new-menu-wp3.jpg" alt="Menu wp 3.0" width="700" height="510" /><p class="wp-caption-text">Sección de menús</p></div>
</div>
<div class="grid_3 cite" style="text-align: right;">La forma de buscar e instalar los temas ha mejorado mucho.</div>
<div class="grid_9">
<div id="attachment_772" class="wp-caption alignnone" style="width: 710px"><img class="size-full wp-image-772" title="new-temas-wp3" src="http://jepserbernardino.com/wp-content/uploads/2010/04/new-temas-wp3.jpg" alt="temas" width="700" height="542" /><p class="wp-caption-text">Sección de temas wp 3.0</p></div>
</div>
<hr />
<ul class="code">
<li><a href="http://wordpress.org/development/2010/04/wordpress-3-0-beta-1/">Ver noticia (inglés)</a></li>
<li><a href="http://wordpress.org/wordpress-3.0-beta1.zip">Descargar WP 3.0 beta 1</a></li>
<li><a href="http://2010dev.wordpress.com/">Ver tema Twenty Ten</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://jepserbernardino.com/idea/wordpress-3-0-lo-que-se-viene/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Mudando wordpress de un dominio a otro</title>
		<link>http://jepserbernardino.com/idea/mudando-wordpress-de-un-dominio-a-otro/</link>
		<comments>http://jepserbernardino.com/idea/mudando-wordpress-de-un-dominio-a-otro/#comments</comments>
		<pubDate>Sat, 22 Aug 2009 06:29:20 +0000</pubDate>
		<dc:creator>Jepser</dc:creator>
				<category><![CDATA[idea]]></category>
		<category><![CDATA[desarrollo]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://jepserbernardino.com/?p=485</guid>
		<description><![CDATA[Vamos a ver como mover un sitio wordpress de un dominio a otro.]]></description>
			<content:encoded><![CDATA[<p>No se si a muchos les ha sucedido pero, esta es la primera vez a mi. Pues un cliente me pidió que cambiara su dominio después de haber creado y terminado con todas las configuraciones en otro. Es decir, tenía que hacer una migración.</p>
<p>Y ese no era el problema, el problema era que WordPress guarda las direcciones de forma absoluta, entonces eso me perjudicaba a la hora de mover el sitio de www.misiteantiguo.com a www.minuevositio.com. Ahora vas a ver como puedes mover tu sitio de un lado a otro sin tantas vueltas.<span id="more-485"></span></p>
<h2>Ante de todo</h2>
<p>Recuerda que tienes que tener tu nuevo dominio preparado y con 36 horas de anticipación para que los DNS se propaguen, así te ahorrarás de futuros dolores de cabeza.</p>
<h2>1. Backup de tu base de datos</h2>
<p><img class="aligncenter size-full wp-image-487" title="mudar1" src="http://jepserbernardino.com/wp-content/uploads/2009/08/mudar1.jpg" alt="mudar1" width="500" height="146" /></p>
<p>Lo primero y más importante, obtener los datos que tienes en tu wordpress, para poder replicarlos. Una vez ingresamos a nuestro hosting, vamos phpMyAdmin (normalmente se encuentra bajo la sección de Bases de Datos, si utilizas Cpanel está bajo DataBases). Una vez estamos en el phpMyAdmin elegimos la base de datos donde está nuestro sitio. Le damos clic a la pestaña de exportar.</p>
<p><img class="aligncenter size-full wp-image-489" title="mudar2" src="http://jepserbernardino.com/wp-content/uploads/2009/08/mudar2.jpg" alt="mudar2" width="500" height="311" /></p>
<p>Una vez en la opciones tenemos que exportarlo como SQL, no se te olvide, luego:</p>
<ul>
<li>Structure (darle clic a las siguientes opciones)
<ul>
<li>Add DROP TABLE/ VIEW/ PROCEDURE/ FUCTION</li>
<li>Add AUTO_INCREMENT value</li>
<li>Enclose table and field names with backquotes</li>
</ul>
</li>
<li>Data( chequear simplemente a este y nada más)</li>
</ul>
<p><img class="aligncenter size-full wp-image-490" title="mudar3" src="http://jepserbernardino.com/wp-content/uploads/2009/08/mudar3.jpg" alt="mudar3" width="300" height="70" /></p>
<p>Le damos chequeamos Save as file y le damos la compresión que queramos. Ya tenemos nuestra información.</p>
<h2>2. Backup de WordPress</h2>
<p>Nada del otro mundo, abres tu cliente FTP y bajas todos los archivos de wordpress a una carpeta. Esto servirá para que los subas de nuevo a tu nuevo dominio.</p>
<p><strong>Actualización</strong>: Cuando bajes el wordpress, abre el archivo wp-config.php (está ubicado no más abres la carpeta), por si la base de datos a donde migras no tiene el mismo nombre, cambiando lo siguiente a los nuevos valores que has configurado en tu nuevo dominio:</p>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1044px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">define(&#8216;DB_NAME&#8217;, &#8216;gd2_site&#8217;);</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1044px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">/** MySQL database username */</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1044px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">define(&#8216;DB_USER&#8217;, &#8216;gd2_user&#8217;);</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1044px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">/** MySQL database password */</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 1044px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">define(&#8216;DB_PASSWORD&#8217;, &#8216;xKN2fyn&lt;ltM3&#8242;);</div>
<pre>define('DB_NAME', 'aqui el nombre de la db');</pre>
<pre>/** MySQL database username */</pre>
<pre>define('DB_USER', 'aqui va el user');</pre>
<pre>/** MySQL database password */</pre>
<pre>define('DB_PASSWORD', 'aqui va el password');</pre>
<h2>3. Prepara tu nuevo dominio</h2>
<p>Como te dije antes, debes de ya tener tu nuevo domino configurado con su hosting con 36 horas de anticipación, si no lo has hecho, ve, tómate un café o durme un poco y regresa cuando se haya cumplido ese tiempo.</p>
<p>Tienes que crear tu base de datos en tu servidor. Una vez la tienes funcionando vas a subir los archivos al FTP (los que bajaste en el paso 2) a tu nueva dirección. Tendremos que esperar un poco.</p>
<h2>4. Importar archivos</h2>
<p><img class="aligncenter size-full wp-image-488" title="mudar4" src="http://jepserbernardino.com/wp-content/uploads/2009/08/mudar4.jpg" alt="mudar4" width="500" height="220" /></p>
<p>Una vez se subieron todos los archivos de tu WordPress, vas a importar todos los datos de los cuales hiciste backup en el paso 1. Para ellos ingresamos otra vez a phpMyAdmin (por supuesto en nuestro nuevo dominio verdad), elegimos la base de datos que ya creamos (la del paso 3) y en las pestañas hay una que dice Importar.</p>
<p>Seleccionas el archivo y listo, le damos seguir. Ahora ya casi estas, solo falta un detalle, el que comente al principio. Para que WordPress sea completamente independiente debes cambiar algunos parámetros en la base, ya que WordPress guardar las direcciones (como páginas y links internos) de forma absoluta, lo que se dificulta, pero esto es solucionado en 3 pequeños pasos más.</p>
<h2>5. La magia</h2>
<p>Si te das cuenta, en las opciones donde importaste y exportaste hay una solapa con SQL, elegis esa.</p>
<p>Y ahora colocas este código:</p>
<pre>UPDATE wp_options SET option_value =
replace(option_value, 'http://www.mi-viejo-dominio.com', 'http://www.mi-nuevo dominio.com')
WHERE option_name = 'home' OR option_name = 'siteurl';</pre>
<p>Lo que hacemos aquí es remplazar el url del sitio donde estaba alojado al nuevo.</p>
<p>Ahora:</p>
<pre>UPDATE wp_posts SET guid = replace(guid, 'http://www.mi-viejo-dominio.com', 'http://www.mi-nuevo dominio.com');</pre>
<p>Con este querie vamos a reemplezar todos los url&#8217;s en los posts y las páginas, de manera que se vuelvan a tu nuevo dominio y por último:</p>
<pre>UPDATE wp_posts SET post_content =
replace(post_content, 'http://www.mi-viejo-dominio.com', 'http://www.mi-nuevo dominio.com');</pre>
<p>Por último remplazamos todos los links que tenga el contenido, para no tener errores 404. ¿Fácil no?</p>
<h3>¡UPDATE! (14 dic 10&#8242;)</h3>
<p>Agrega este código para cambiar las url (si existen) de los custom fields.</p>
<pre>UPDATE wp_postmeta SET meta_value =
replace(meta_value, 'http://www.mi-viejo-dominio.com', 'http://www.mi-nuevo-dominio.com')</pre>
<h2>6. Ahora sí, lo último</h2>
<p>Ingresa al administrador y cambia el nombre del sitio o los correos configurados, date cuenta de que los plugins funcionen a la perfección.</p>
<p>Espero que te sea de utilidad, ya que pase unas cuantas horitas viendo información sencilla y en español, pero no, la encontre mezclando varios sitio y en inglés; y no tengo problema con ello, pero es mucho más fácil de comprender las cosas en el idioma materno (o paterno). ¡Éxitos y pilas!</p>
]]></content:encoded>
			<wfw:commentRss>http://jepserbernardino.com/idea/mudando-wordpress-de-un-dominio-a-otro/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
	</channel>
</rss>

