<?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>Fran Moreno</title>
	<atom:link href="https://franmoreno.com/feed/" rel="self" type="application/rss+xml" />
	<link>https://franmoreno.com</link>
	<description></description>
	<lastBuildDate>Fri, 08 May 2020 16:22:42 +0000</lastBuildDate>
	<language>es</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	
<image>
	<url>https://franmoreno.com/wp-content/uploads/2020/05/cropped-icons8-usuario-50-32x32.png</url>
	<title>Fran Moreno</title>
	<link>https://franmoreno.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Moss.sh, tu sysadmin virtual</title>
		<link>https://franmoreno.com/moss-sh-sysadmin-virtual/</link>
					<comments>https://franmoreno.com/moss-sh-sysadmin-virtual/#respond</comments>
		
		<dc:creator><![CDATA[Fran Moreno]]></dc:creator>
		<pubDate>Sat, 11 Jan 2020 15:30:30 +0000</pubDate>
				<category><![CDATA[Devops]]></category>
		<category><![CDATA[moss]]></category>
		<category><![CDATA[servidores]]></category>
		<category><![CDATA[sysadmin]]></category>
		<guid isPermaLink="false">https://franmoreno.com/?p=45</guid>

					<description><![CDATA[Desde que me dedico profesionalmente a Internet, siempre he andado peleando con distintos hostings, servidores dedicados, VPS, instalación de actualizaciones, gestión de paquetes, versiones de PHP, parches de seguridad&#8230; Desde que descubrí Moss.sh, eso dejó de ser un quebradero de cabeza y ser un trámite más en el proceso. Con Moss sólo tienes que preocuparte [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>Desde que me dedico profesionalmente a Internet, siempre he andado peleando con distintos hostings, servidores dedicados, VPS, instalación de actualizaciones, gestión de paquetes, versiones de PHP, parches de seguridad&#8230; Desde que descubrí <a href="https://moss.sh/?ref=b084ab56c373" target="_blank" rel="noreferrer noopener" aria-label="Moss.sh (se abre en una nueva pestaña)">Moss.sh</a>, eso dejó de ser un quebradero de cabeza y ser un trámite más en el proceso.</p>



<p>Con Moss sólo tienes que preocuparte de dos cosas, qué tamaño de servidor necesitas para empezar un proyecto y en qué va a ir programado (Laravel, WordPress, HTML&#8230;) el ya se encarga de todo lo demás.</p>



<figure class="wp-block-image size-large"><a href="https://moss.sh/?ref=b084ab56c373" target="_blank" rel="noreferrer noopener"><img loading="lazy" width="949" height="537" src="https://franmoreno.com/wp-content/uploads/2020/01/moss_home.png" alt="" class="wp-image-51" srcset="https://franmoreno.com/wp-content/uploads/2020/01/moss_home.png 949w, https://franmoreno.com/wp-content/uploads/2020/01/moss_home-300x170.png 300w, https://franmoreno.com/wp-content/uploads/2020/01/moss_home-768x435.png 768w" sizes="(max-width: 949px) 100vw, 949px" /></a></figure>



<p>Características principales:</p>



<ul><li>Integración con DigitalOcean, Google Cloud, Amazon EC2 o Vultr</li><li>Gestión de tantos Workspaces como necesites para organizar tus servidores y sitios</li><li>Deploys automáticos integrados con tu herramienta de gestión de código favorita (Bitbucket, Github, GitLab&#8230;)</li><li>Actualizaciones de seguridad automáticas</li><li>Gestión sencilla de Workers y Cronjobs</li></ul>



<p>Y todo mediante una interfaz de uso amable y bien pensada. Esta herramienta sale de la cabeza de un amigo y mejor programador <a href="https://twitter.com/danielvigueras" target="_blank" rel="noreferrer noopener" aria-label="Daniel Vigueras (se abre en una nueva pestaña)">Daniel Vigueras</a> y su equipo.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://franmoreno.com/moss-sh-sysadmin-virtual/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Introducción a WP-CLI</title>
		<link>https://franmoreno.com/introduccion-a-wp-cli/</link>
					<comments>https://franmoreno.com/introduccion-a-wp-cli/#respond</comments>
		
		<dc:creator><![CDATA[Fran Moreno]]></dc:creator>
		<pubDate>Mon, 30 Dec 2019 08:39:00 +0000</pubDate>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[wp]]></category>
		<category><![CDATA[WP-CLI]]></category>
		<guid isPermaLink="false">https://franmoreno.com/?p=29</guid>

					<description><![CDATA[WordPress ha evolucionado mucho los últimos años, una de las mejoras más interesantes es la herramienta de línea de comandos, llamada WP-CLI, que nos permite hacer casi cualquier tarea de mantenimiento en una web construida con WordPress usando comandos de bash, con lo que significa esto para la administración de sistemas, automatización de tareas, etc&#8230; [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>WordPress ha evolucionado mucho los últimos años, una de las mejoras más interesantes es la herramienta de línea de comandos, llamada WP-CLI, que nos permite hacer casi cualquier tarea de mantenimiento en una web construida con WordPress usando comandos de bash, con lo que significa esto para la administración de sistemas, automatización de tareas, etc&#8230;</p>



<p>Imagina que queremos actualizar todos los plugins de la web de una sola vez:</p>



<pre class="wp-block-code"><code>wp plugin update --all</code></pre>



<p>Esta linea de comandos recorre todos los plugins que estén desactualizados, busca una nueva versión, la descarga, la descomprime y sustituye el plugin antiguo por el nuevo.</p>



<p>Pero antes de esto, debemos tener en cuenta varias cosas para poder usarlo:</p>



<ol><li>Debemos tener acceso SSH al servidor donde esté instalado nuestro WordPress (no todos los hostings compartidos nos van a permitir esto)</li><li>Tenemos que tener instalado WP-CLI y accesible por nuestro usuario del sistema</li><li>Ya está&#8230;</li></ol>



<p>Empezamos, lo primero será instalar WP-CLI, para eso seguiremos los sencillos pasos que indican en su web: <a href="https://wp-cli.org/es/#instalaci%C3%B3n">https://wp-cli.org/es/#instalaci%C3%B3n</a></p>



<p>Una vez instalado y funcionando, ya podemos hacer algunas pruebas, por ejemplo, instalar un WordPress nuevo, antes de ejecutar los siguientes pasos tenemos que tener en cuenta varias cosas, que tengamos permisos para crear bases de datos, en caso de tenerla ya creada anteriormente, el paso «wp db create» podemos omitirlo. Y por último, que el directorio donde instalemos este WordPress sea visible desde un navegador web (servido por Apache o cualquier servidor web similar)</p>



<pre class="wp-block-code"><code>mkdir testdir
cd testdir
wp core download --locale=es_ES
wp config create --dbname=wptest --dbuser=myuser --dbpass=mypass
wp db create
wp core install --url=midominio.com --title="Mi nueva web con WordPress" --admin_user=usuario --admin_password=contraseña --admin_email=email@email.com</code></pre>



<p>Y con esto tendríamos nuestro WordPress creado, a partir de aquí, podemos buscar en la documentación de WP-CLI para encontrar todas las tareas que podemos automatizar con esta herramienta: <a href="https://developer.wordpress.org/cli/commands/">https://developer.wordpress.org/cli/commands/</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://franmoreno.com/introduccion-a-wp-cli/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Vídeos de la charla sobre GIT y GitHub en CAMON Murcia</title>
		<link>https://franmoreno.com/videos-de-la-charla-sobre-git-y-github-en-camon-murcia/</link>
					<comments>https://franmoreno.com/videos-de-la-charla-sobre-git-y-github-en-camon-murcia/#respond</comments>
		
		<dc:creator><![CDATA[Fran Moreno]]></dc:creator>
		<pubDate>Sun, 07 Apr 2013 16:13:00 +0000</pubDate>
				<category><![CDATA[Charlas]]></category>
		<category><![CDATA[Charla]]></category>
		<category><![CDATA[GIT]]></category>
		<category><![CDATA[GITHub]]></category>
		<guid isPermaLink="false">https://franmoreno.com/?p=63</guid>

					<description><![CDATA[El día 22 de Febrero de 2012 dí una charla sobre GIT y GitHub en el CAMON en Murcia, dentro de las actividades que celebra ADWE en este lugar.]]></description>
										<content:encoded><![CDATA[
<p>El día 22 de Febrero de 2012 dí <a href="http://www.tucamon.es/contenido/introduccion-al-uso-del-sistema-de-control-de-versiones-git">una charla sobre GIT y GitHub en el CAMON en Murcia</a>, dentro de las actividades que celebra <a href="http://www.adwe.es/">ADWE</a> en este lugar.</p>



<figure class="wp-block-embed-vimeo wp-block-embed is-type-video is-provider-vimeo wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe title="GitHub En Camon Murcia" src="https://player.vimeo.com/video/39829002?dnt=1&amp;app_id=122963" width="580" height="326" frameborder="0" allow="autoplay; fullscreen" allowfullscreen></iframe>
</div></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://franmoreno.com/videos-de-la-charla-sobre-git-y-github-en-camon-murcia/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Comenzando con los Custom Post Types en WordPress</title>
		<link>https://franmoreno.com/comenzando-con-los-custom-post-types-en-wordpress/</link>
					<comments>https://franmoreno.com/comenzando-con-los-custom-post-types-en-wordpress/#respond</comments>
		
		<dc:creator><![CDATA[Fran Moreno]]></dc:creator>
		<pubDate>Sun, 10 Mar 2013 16:16:00 +0000</pubDate>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[CPT]]></category>
		<category><![CDATA[Cuscom posts types]]></category>
		<category><![CDATA[Custom posts]]></category>
		<guid isPermaLink="false">https://franmoreno.com/?p=65</guid>

					<description><![CDATA[Un aspecto importante en&#160;WordPress&#160;son los&#160;Custom Post Types, una característica que se incluyó a partir de la versión 3 de este CMS. Como la mayoría sabe, en WordPress hay varios tipos de posts nativos, los posts normales, como este artículo, una página estática, los archivos adjuntos (imágenes y demás) y las barras de navegación. Cada una [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>Un aspecto importante en&nbsp;<strong>WordPress</strong>&nbsp;son los&nbsp;<a href="http://codex.wordpress.org/Function_Reference/register_post_type">Custom Post Types</a>, una característica que se incluyó a partir de la versión 3 de este CMS. Como la mayoría sabe, en WordPress hay varios tipos de posts nativos, los posts normales, como este artículo, una página estática, los archivos adjuntos (imágenes y demás) y las barras de navegación. Cada una de estas cosas tiene un tipo de post concreto en la tabla wp_posts.</p>



<p>Desde la versión 3 se pueden definir Custom posts propios, lo que quiere decir que tenemos un montón de posibilidades de crear casi cualquier cosa que se nos ocurra. Para crear este tipo de posts se hace uso de la función <code>register_post_type</code>, que paso a describir a continuación, creando un Custom Post Type llamado <strong>Trabajo</strong>:</p>



<pre class="wp-block-preformatted">add_action('init', 'franmoreno_trabajos_register');

function franmoreno_trabajos_register() {

	$labels = array(
		'name' => __( 'Trabajos' ),
		'singular_name' => __( 'Trabajo' ),
		'add_new' => __( 'Añadir Nuevo' ),
		'add_new_item' => __( 'Añadir nuevo Trabajo' ),
		'edit_item' => __( 'Editar Trabajo' ),
		'new_item' => __( 'Nuevo Trabajo'),
		'view_item' => __( 'Ver Trabajo'),
		'search_items' => __( 'Buscar Trabajo'),
		'not_found' =>  __('No se encontró nada'),
		'not_found_in_trash' => __('No se encontró nada en la papelera'),
		'parent_item_colon' => ''
	);

	$args = array(
		'labels' => $labels,
		'public' => true,
		'rewrite' => true,
		'capability_type' => 'post',
		'hierarchical' => false,
		'menu_position' => null,
		'supports' => array('title','thumbnail','editor')
	  ); 

	register_post_type( 'trabajos' , $args );
}</pre>



<p>Esta función recibe primero el nombre del custom post, y segundo un array con los distintos argumentos para crearlo. Este array contiene los siguientes campos:</p>



<ul><li><code>labels</code>: Otro array con los distintos textos que se mostrarán en el panel de administración para gestionar nuestro custom post type.</li><li><code>public</code>: Define si este custom post es de acceso público o va a ser de uso interno.</li><li><code>rewrite</code>: Define si se va a hacer uso de los rewrites para generar permalinks con este tipo de datos.</li><li><code>capability_type</code>: Define la forma en la que se accederá a el internamente, en este caso, decimos que igual que un post.</li><li><code>hierarchical</code>: Permitimos que se asocien unos a otros como padres e hijos, false es que no, comportándose como un post. Si decimos true, se comportarán como páginas, pudiendo asignarles un padre.</li><li><code>menu_position</code>: Definimos la posición que tendrá este custom post en el menú de administración de WordPress.</li><li><code>supports</code>: Un array con los distintos campos que queremos que este custom post tenga en el panel de creación y edición, en este caso decimos que queremos que tenga título, imagen predeterminada y el campo de edición del post.</li></ul>



<p>Añadimos el código anterior a nuestro fichero&nbsp;<code>functions.php</code>&nbsp;y al guardar y refrescar tendremos disponible nuestro custom post. Recomiendo, que para no tener dependencia entre el custom post y el theme, separemos ambas cosas, creando el custom post como un plugin, en este caso, podemos crear un fichero en el directorio plugins al que llamaremos como queramos y cuyo contenido será algo así:</p>



<pre class="wp-block-preformatted">&lt;?php

/*
Plugin Name: Custom Post Trabajos
Description: Custom posts de trabajos.
Version: ...
Author: ...
Author Uri: ...
License: ...
*/

/* Aquí añadimos el código anterior que define el custom post */

...</pre>
]]></content:encoded>
					
					<wfw:commentRss>https://franmoreno.com/comenzando-con-los-custom-post-types-en-wordpress/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Charla de introducción al desarrollo de themes en WordPress</title>
		<link>https://franmoreno.com/charla-de-introduccion-al-desarrollo-de-themes-en-wordpress/</link>
					<comments>https://franmoreno.com/charla-de-introduccion-al-desarrollo-de-themes-en-wordpress/#respond</comments>
		
		<dc:creator><![CDATA[Fran Moreno]]></dc:creator>
		<pubDate>Sat, 15 Sep 2012 16:19:00 +0000</pubDate>
				<category><![CDATA[Charlas]]></category>
		<category><![CDATA[Charla]]></category>
		<category><![CDATA[Themes]]></category>
		<category><![CDATA[WordPress]]></category>
		<guid isPermaLink="false">https://franmoreno.com/?p=67</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-embed-vimeo wp-block-embed is-type-video is-provider-vimeo wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe title="Conferencia de Fran Moreno sobre wordpress" src="https://player.vimeo.com/video/30867518?dnt=1&amp;app_id=122963" width="580" height="326" frameborder="0" allow="autoplay; fullscreen" allowfullscreen></iframe>
</div></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://franmoreno.com/charla-de-introduccion-al-desarrollo-de-themes-en-wordpress/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
