<?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>plugins &#8211; danisanchez.net</title>
	<atom:link href="https://danisanchez.net/tag/plugins/feed/" rel="self" type="application/rss+xml" />
	<link>https://danisanchez.net</link>
	<description></description>
	<lastBuildDate>Fri, 08 Jan 2021 10:17:25 +0000</lastBuildDate>
	<language>es</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://danisanchez.net/wp-content/uploads/2026/07/cropped-favicon-32x32.png</url>
	<title>plugins &#8211; danisanchez.net</title>
	<link>https://danisanchez.net</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Configuración de WP Fastest Cache</title>
		<link>https://danisanchez.net/configuracion-de-wp-fastest-cache/</link>
					<comments>https://danisanchez.net/configuracion-de-wp-fastest-cache/#comments</comments>
		
		<dc:creator><![CDATA[dani.sanchez]]></dc:creator>
		<pubDate>Fri, 08 Jan 2021 10:17:25 +0000</pubDate>
				<category><![CDATA[Publicaciones]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[caché]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[wordpress]]></category>
		<guid isPermaLink="false">https://www.gestionatuweb.net/?p=9951</guid>

					<description><![CDATA[Uno de los plugins de optimización de caché que más utilizo en mis proyectos es WP Fastest Cache. El otro es Lite Speed Cache, pero solo lo uso en servidores LiteSpeed, en clientes que tengo alojados con Raiola Networks, este plugin está totalmente pensado para estos servidores y creo que no tiene rival. Para otros [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Uno de los plugins de optimización de caché que más utilizo en mis proyectos es <strong><a href="https://es.wordpress.org/plugins/wp-fastest-cache/" target="_blank" rel="noreferrer noopener">WP Fastest Cache</a></strong>. </p>



<p class="wp-block-paragraph">El otro es <a rel="noreferrer noopener" href="https://es.wordpress.org/plugins/litespeed-cache/" target="_blank">Lite Speed Cach</a><a href="https://es.wordpress.org/plugins/litespeed-cache/" target="_blank" rel="noreferrer noopener">e</a>, pero solo lo uso en servidores LiteSpeed, en clientes que tengo alojados con <a href="https://raiolanetworks.es/" data-type="URL" data-id="https://raiolanetworks.es/">Raiola Networks</a>, este plugin está totalmente pensado para estos servidores y creo que no tiene rival.</p>



<p class="wp-block-paragraph">Para otros servidores como Apache, me decanto por WP Fastest Caché, tanto por su facilidad de configuración, como por sus resultados.</p>



<p class="wp-block-paragraph">Ya es el tercer plugin que reseño en la web, después de <a href="https://danisanchez.net/instalar-y-configurar-w3-total-cache-en-wordpress/">W3 Total Cache</a> y <a href="https://danisanchez.net/acelera-tu-web-con-wp-super-cache/">WP Super Cache</a>, por lo que para hacer la introducción sobre qué es el cacheo de una web, voy a hacer un copia/pega del post anterior:</p>



<h3 class="wp-block-heading">¿Qué es cachear una web?</h3>



<p class="wp-block-paragraph">Si tenemos una web en WordPress compuesta por su plantilla y diversos plugins, debemos ser conscientes de que cada vez que un usuario visita una de nuestras páginas comienza una serie de procesos internos en el servidor donde se ejecutan funciones, se realizan consultas a la base de datos y demás tareas hasta que este genera el <strong>archivo HTML final</strong> el cual es mostrado al usuario.</p>



<p class="wp-block-paragraph"><strong>El cacheo básicamente consiste en guardar temporalmente esos archivos HTML </strong>resultantes de cada una de nuestras páginas para ser mostrados al siguiente usuario que solicite la misma página. De esta forma, el servidor <strong>no tiene que volver a ejecutar de nuevo&nbsp;todo el proceso</strong> para componer la página, acelerando considerablemente la velocidad en la que esta es mostrada al usuario.</p>



<p class="wp-block-paragraph">Para llevar a cabo esta tarea, vamos a ver cómo configurar el plugin WP Fastest Cache, el cual está muy bien posicionado en el repositorio de WordPress con más de 1.000.000 de instalaciones activas y una valoración promedia de 5 estrellas. </p>



<figure class="wp-block-image size-large"><img fetchpriority="high" decoding="async" width="772" height="714" src="https://danisanchez.net/wp-content/uploads/2021/01/02-wp-fastest-cache.jpg" alt="" class="wp-image-9952" srcset="https://danisanchez.net/wp-content/uploads/2021/01/02-wp-fastest-cache.jpg 772w, https://danisanchez.net/wp-content/uploads/2021/01/02-wp-fastest-cache-300x277.jpg 300w, https://danisanchez.net/wp-content/uploads/2021/01/02-wp-fastest-cache-768x710.jpg 768w" sizes="(max-width: 772px) 100vw, 772px" /></figure>



<p class="wp-block-paragraph">Para hacer la prueba, tengo un WordPress de pruebas en mi servidor, en él tengo instalado Genesis con el tema Simple Genesis, y unos cuantos plugins (WooCommerce, Conditional Discounts for WooCommerce por ORION, Cookie Notice, Pinpoint Booking System y Genesis Connect for WooCommerce).</p>



<p class="wp-block-paragraph">Haciendo un test con la herramienta <a rel="noreferrer noopener" href="https://tools.pingdom.com/" target="_blank">Pingdom Tools</a>, sin tener la web cacheada, me da estos resultados:</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="695" src="https://danisanchez.net/wp-content/uploads/2021/01/01-ping-primera-prueba-1024x695.jpg" alt="" class="wp-image-9953" srcset="https://danisanchez.net/wp-content/uploads/2021/01/01-ping-primera-prueba-1024x695.jpg 1024w, https://danisanchez.net/wp-content/uploads/2021/01/01-ping-primera-prueba-300x204.jpg 300w, https://danisanchez.net/wp-content/uploads/2021/01/01-ping-primera-prueba-768x522.jpg 768w, https://danisanchez.net/wp-content/uploads/2021/01/01-ping-primera-prueba.jpg 1094w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">La verdad es que son buenos resultados, todavía no hay mucho contenido en la página y las plantillas de Genesis son muy ligeras, pero seguro que algo podemos mejorar con el cacheo de la web.</p>



<p class="wp-block-paragraph">Tras instalar WP Fastest Cache, vamos a su configuración y empezamos activando las primeras opciones:</p>



<p class="wp-block-paragraph">La primera es <strong>activar el sistema de caché</strong>, por supuesto.</p>



<figure class="wp-block-image size-large"><img decoding="async" width="800" height="272" src="https://danisanchez.net/wp-content/uploads/2021/01/03-fastest-cache-conf-01.jpg" alt="" class="wp-image-9954" srcset="https://danisanchez.net/wp-content/uploads/2021/01/03-fastest-cache-conf-01.jpg 800w, https://danisanchez.net/wp-content/uploads/2021/01/03-fastest-cache-conf-01-300x102.jpg 300w, https://danisanchez.net/wp-content/uploads/2021/01/03-fastest-cache-conf-01-768x261.jpg 768w" sizes="(max-width: 800px) 100vw, 800px" /></figure>



<p class="wp-block-paragraph"><strong>Precargar:</strong> Las páginas no se cachean hasta que no son visitadas por alguien, pero si queremos hacer pre-cacheado de toda la web antes de que empiece a tener visitas, podemos activar esta opción, eso sí, aumentará bastante la carga del servidor y el rendimiento general de la web podría verse afectado mientras dura el proceso.</p>



<p class="wp-block-paragraph"><strong>Usuarios conectados:</strong> Esto hará que los usuarios conectados también reciban la versión cacheada de la web, incluso administradores, editores, etc. En webs de membresía donde hay secciones específicas para subscriptores, puede ser un problema mostrarles la versión cacheada, ya que si subimos algún contenido a estas secciones, ellos no lo verán hasta el siguiente ciclo de cacheo.</p>



<p class="wp-block-paragraph"><strong>Móvil:</strong> Esta opción solo se activa para webs que tienen 2 versiones (escritorio y móvil), <strong>para plantillas responsive que se adaptan al tamaño de pantalla no debe activarse.</strong></p>



<h3 class="wp-block-heading">Vaciar la caché al añadir o modificar contenidos</h3>



<p class="wp-block-paragraph">Veamos ahora qué opciones tenemos cuando añadimos o modificamos contenido en la web:</p>



<p class="wp-block-paragraph"><strong>Nueva entrada:</strong> Cuando redactamos una nueva entrada tenemos la opción de vaciar la caché, ya sea para todo el sitio o sólo para la página de inicio y páginas de archivo. </p>



<p class="wp-block-paragraph"><strong>Yo recomiendo la segunda opción</strong>. Cuando publicamos una entrada, mientras dura el ciclo de cacheo actual, esta no será mostrada en la sección de nuestro blog ni en los listados de categorías o etiquetas, ya que estas páginas también se cachean. </p>



<p class="wp-block-paragraph">Así cuando publicamos una nueva entrada, podremos vaciar la caché de sólo estas páginas para que la nueva entrada sea visible.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="709" height="480" src="https://danisanchez.net/wp-content/uploads/2021/01/04-fastest-cache-conf-02.jpg" alt="" class="wp-image-9955" srcset="https://danisanchez.net/wp-content/uploads/2021/01/04-fastest-cache-conf-02.jpg 709w, https://danisanchez.net/wp-content/uploads/2021/01/04-fastest-cache-conf-02-300x203.jpg 300w" sizes="auto, (max-width: 709px) 100vw, 709px" /></figure>



<p class="wp-block-paragraph">Al igual que con las nuevas entradas, también podemos aplicar el mismo procedimiento al actualizar una entrada:</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="621" height="462" src="https://danisanchez.net/wp-content/uploads/2021/01/05-fastest-cache-conf-03.jpg" alt="" class="wp-image-9956" srcset="https://danisanchez.net/wp-content/uploads/2021/01/05-fastest-cache-conf-03.jpg 621w, https://danisanchez.net/wp-content/uploads/2021/01/05-fastest-cache-conf-03-300x223.jpg 300w" sizes="auto, (max-width: 621px) 100vw, 621px" /></figure>



<h3 class="wp-block-heading">Opciones de minimización</h3>



<p class="wp-block-paragraph">El plugin también permite opciones de minimización. Entre ellas:</p>



<ul class="wp-block-list"><li><strong>Minimizar HTML</strong> <strong>y CSS</strong>: Reduce el código HTML y CSS eliminando espacios, líneas vacías, comentarios&#8230;</li><li><strong>Combinar CSS y JS</strong>: Recopila todos los archivos CSS y JS y los reunifica en un único archivo. Esta opción es más delicada con según qué plantillas o constructores visuales como Elementor, Divi, Fusion Builder&#8230; Si queremos activar estas opciones, debemos ver cómo se comporta la web una vez aplicados, y si detectamos errores en el diseño o efectos que dejan de funcionar, dejarlo desactivado.</li></ul>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="689" height="558" src="https://danisanchez.net/wp-content/uploads/2021/01/06-fastest-cache-conf-04.jpg" alt="" class="wp-image-9957" srcset="https://danisanchez.net/wp-content/uploads/2021/01/06-fastest-cache-conf-04.jpg 689w, https://danisanchez.net/wp-content/uploads/2021/01/06-fastest-cache-conf-04-300x243.jpg 300w" sizes="auto, (max-width: 689px) 100vw, 689px" /></figure>



<h3 class="wp-block-heading">Compresión y caché de navegador</h3>



<p class="wp-block-paragraph"><strong>Gzip</strong>: Esta función depende de que el servidor soporte la compresión Gzip, si la activamos, reduciremos el tamaño de los archivos HTML enviados por el servidor al navegador del usuario, mejorando la velocidad de carga.</p>



<p class="wp-block-paragraph"><strong>Caché del navegador</strong>: Activando esta opción, forzaremos a que el navegador descargue la mayoría de archivos estáticos de las páginas visitadas por nuestros usuarios, tales como imágenes, css, js&#8230; De esta forma la próxima vez que visiten la web, el tiempo de carga será considerablemente menor.</p>



<p class="wp-block-paragraph"><strong>Desactivar los emojis</strong>: Existe un archivo de emojis que reemplaza expresiones como:</p>



<pre class="wp-block-code"><code>:)  ;)  :(</code></pre>



<p class="wp-block-paragraph">en emojis gráficos <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f641.png" alt="🙁" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Si no vamos a hacer uso de estos emojis, podemos desactivarlo para ganar en tiempo de carga.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="680" height="308" src="https://danisanchez.net/wp-content/uploads/2021/01/07-fastest-cache-conf-05.jpg" alt="" class="wp-image-9958" srcset="https://danisanchez.net/wp-content/uploads/2021/01/07-fastest-cache-conf-05.jpg 680w, https://danisanchez.net/wp-content/uploads/2021/01/07-fastest-cache-conf-05-300x136.jpg 300w" sizes="auto, (max-width: 680px) 100vw, 680px" /></figure>



<p class="wp-block-paragraph">Después de aplicar todas estas opciones, volvemos a hacer un test en Pingdom Tools y nos devuelve:</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="754" src="https://danisanchez.net/wp-content/uploads/2021/01/08-ping-segunda-prueba-1024x754.jpg" alt="" class="wp-image-9961" srcset="https://danisanchez.net/wp-content/uploads/2021/01/08-ping-segunda-prueba-1024x754.jpg 1024w, https://danisanchez.net/wp-content/uploads/2021/01/08-ping-segunda-prueba-300x221.jpg 300w, https://danisanchez.net/wp-content/uploads/2021/01/08-ping-segunda-prueba-768x565.jpg 768w, https://danisanchez.net/wp-content/uploads/2021/01/08-ping-segunda-prueba.jpg 1046w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<figure class="wp-block-table"><table><tbody><tr><td></td><td class="has-text-align-center" data-align="center">ANTES</td><td class="has-text-align-center" data-align="center">DESPUÉS</td></tr><tr><td>Tamaño de Página</td><td class="has-text-align-center" data-align="center">530.3 KB</td><td class="has-text-align-center" data-align="center">525.8 KB</td></tr><tr><td>Tiempo de Carga</td><td class="has-text-align-center" data-align="center">1.66 s</td><td class="has-text-align-center" data-align="center">1.32 s</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">Como podemos apreciar hay una mejora, no muy significativa porque los datos ya eran buenos, pero si tuvieramos unos datos iniciales peores, como un tamaño de página de 3MB y un tiempo de carga de 3 segundos, la mejora sería mucho más apreciable.</p>



<p class="wp-block-paragraph">Además, gracias a la caché, el servidor funcionará mucho más desahogado, sin tener que realizar tantos procesos ni consultas a la base de datos en cada visita.</p>



<h3 class="wp-block-heading">Borrar la caché</h3>



<p class="wp-block-paragraph">En la siguiente pestaña de opciones tenemos la posibilidad de vaciar la caché almacenada en el momento que queramos.</p>



<p class="wp-block-paragraph">Si hemos modificado algún archivo CSS o JS, podemos regenerar de nuevo el minimizado de CSS/JS para que los cambios surtan efecto.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="812" height="720" src="https://danisanchez.net/wp-content/uploads/2021/01/09-borrar-cache.jpg" alt="" class="wp-image-9962" srcset="https://danisanchez.net/wp-content/uploads/2021/01/09-borrar-cache.jpg 812w, https://danisanchez.net/wp-content/uploads/2021/01/09-borrar-cache-300x266.jpg 300w, https://danisanchez.net/wp-content/uploads/2021/01/09-borrar-cache-768x681.jpg 768w" sizes="auto, (max-width: 812px) 100vw, 812px" /></figure>



<p class="wp-block-paragraph">Otra opción disponible es la de establecer <strong>Reglas de límite</strong>, pudiendo indicar cada cuánto tiempo debería regenerarse la caché de todo nuestro sitio, o de una página concreta. Aquí depende de la velocidad a la que actualices tu web, si subes contenidos a diario, puedes establecer el límite de caché en unas horas, pero si actualizas de vez en cuando (1 o 2 veces pos semana), puedes mantener la caché unos días sin problema.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="788" height="713" src="https://danisanchez.net/wp-content/uploads/2021/01/10-reglas-de-limite.jpg" alt="" class="wp-image-9964" srcset="https://danisanchez.net/wp-content/uploads/2021/01/10-reglas-de-limite.jpg 788w, https://danisanchez.net/wp-content/uploads/2021/01/10-reglas-de-limite-300x271.jpg 300w, https://danisanchez.net/wp-content/uploads/2021/01/10-reglas-de-limite-768x695.jpg 768w" sizes="auto, (max-width: 788px) 100vw, 788px" /></figure>



<h3 class="wp-block-heading">Excluir</h3>



<p class="wp-block-paragraph">Desde este apartado podremos excluir manualmente cualquier página o entrada del cacheo.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="796" height="493" src="https://danisanchez.net/wp-content/uploads/2021/01/11-reglas-excluir.jpg" alt="" class="wp-image-9965" srcset="https://danisanchez.net/wp-content/uploads/2021/01/11-reglas-excluir.jpg 796w, https://danisanchez.net/wp-content/uploads/2021/01/11-reglas-excluir-300x186.jpg 300w, https://danisanchez.net/wp-content/uploads/2021/01/11-reglas-excluir-768x476.jpg 768w" sizes="auto, (max-width: 796px) 100vw, 796px" /></figure>



<h3 class="wp-block-heading">Compatibilidad con WooCommerce</h3>



<p class="wp-block-paragraph"><strong>Páginas de WooCommerce:</strong> WP Fastest Caché es totalmente compatible con WooCommerce, tanto la página del <strong>Carrito (Cart), Pago (Checkout) o de Mi Cuenta (My Account)</strong> son reconocidas y excluidas automáticamente del sistema de cacheo.</p>



<p class="wp-block-paragraph"><strong>Widget de carrito: </strong>Si utilizas el método AJAX para actualizar el carrito, el cacheo no debe suponer ningún problema. Pero si usas PHP para actualizar el carrito, este genera una cookie que debemos excluir del cacheo como se muestra en la imagen:</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="798" height="356" src="https://danisanchez.net/wp-content/uploads/2021/01/13-excluir-cookie-woocommerce.jpg" alt="" class="wp-image-9966" srcset="https://danisanchez.net/wp-content/uploads/2021/01/13-excluir-cookie-woocommerce.jpg 798w, https://danisanchez.net/wp-content/uploads/2021/01/13-excluir-cookie-woocommerce-300x134.jpg 300w, https://danisanchez.net/wp-content/uploads/2021/01/13-excluir-cookie-woocommerce-768x343.jpg 768w" sizes="auto, (max-width: 798px) 100vw, 798px" /></figure>



<p class="wp-block-paragraph">Por último, WP Fastest Cache también es compatible con los principales servicios CDN como Photon o Cloudflare.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="782" height="404" src="https://danisanchez.net/wp-content/uploads/2021/01/12-fastest-cache-cdn.jpg" alt="" class="wp-image-9967" srcset="https://danisanchez.net/wp-content/uploads/2021/01/12-fastest-cache-cdn.jpg 782w, https://danisanchez.net/wp-content/uploads/2021/01/12-fastest-cache-cdn-300x155.jpg 300w, https://danisanchez.net/wp-content/uploads/2021/01/12-fastest-cache-cdn-768x397.jpg 768w" sizes="auto, (max-width: 782px) 100vw, 782px" /></figure>



<p class="wp-block-paragraph">El plugin tiene muchas más opciones en su versión PRO, pero <strong>para una configuración estándar, su versión gratuita es más que suficiente</strong> para la mayoría de los casos.</p>



<p class="wp-block-paragraph">Y lo mejor es que poco más de 5 minutos, puedes poner en marcha todo el sistema de cacheo de tu web sin detenerte en muchos tecnicismos y funciones avanzadas que no tienes por qué conocer.</p>



<p class="wp-block-paragraph">Si te ha gustado el artículo, considera compartirlo <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
]]></content:encoded>
					
					<wfw:commentRss>https://danisanchez.net/configuracion-de-wp-fastest-cache/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Cómo añadir un enlace personalizado en el menú admin de WordPress</title>
		<link>https://danisanchez.net/como-anadir-un-enlace-personalizado-en-el-menu-admin-de-wordpress/</link>
		
		<dc:creator><![CDATA[dani.sanchez]]></dc:creator>
		<pubDate>Thu, 07 Jan 2021 16:52:22 +0000</pubDate>
				<category><![CDATA[Publicaciones]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[wordpress]]></category>
		<guid isPermaLink="false">https://www.gestionatuweb.net/?p=9945</guid>

					<description><![CDATA[Vamos con un TIP rápido y que puede ser muy interesante. En ocasiones necesitamos añadir un enlace dentro del menú principal en el administrador de WordPress, ya sea hacia un sitio externo o a algún lugar dentro de la web principal. Imaginemos que desarrollamos una web para un cliente, con acceso algo limitado dentro del [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Vamos con un TIP rápido y que puede ser muy interesante. </p>



<p class="wp-block-paragraph">En ocasiones necesitamos añadir un enlace dentro del menú principal en el administrador de WordPress, ya sea hacia un sitio externo o a algún lugar dentro de la web principal.</p>



<p class="wp-block-paragraph">Imaginemos que desarrollamos una web para un cliente, con acceso algo limitado dentro del administrador (permisos de editor o autor), y queremos ponerle un enlace fácil para volver al «front-end» de la web.</p>



<p class="wp-block-paragraph">Para ello, añadimos este código al archivo de funciones (functions.php) de nuestro tema activo, o bien en <a href="https://danisanchez.net/wordpress-crear-nuestro-propio-plugin-de-funciones/" target="_blank" rel="noreferrer noopener"><strong>nuestro propio plugin de funciones</strong></a>: </p>



<pre class="wp-block-code"><code>//Enlace a personalizado en menú admin
function enlace_menu_admin(){
    add_menu_page('enlace_panel', 'Volver a la Web', 'read', '', '', 'dashicons-text', 1);
}
add_action('admin_menu', 'enlace_menu_admin');

function enlace_menu_admin_funcion(){
    global $menu;
    $menu&#91;1]&#91;2] = "https://tudominio.com";
}
add_action('admin_menu', 'enlace_menu_admin_funcion');</code></pre>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="703" height="343" src="https://danisanchez.net/wp-content/uploads/2021/01/captura-enlace-menu-admin.jpg" alt="" class="wp-image-9946" srcset="https://danisanchez.net/wp-content/uploads/2021/01/captura-enlace-menu-admin.jpg 703w, https://danisanchez.net/wp-content/uploads/2021/01/captura-enlace-menu-admin-300x146.jpg 300w" sizes="auto, (max-width: 703px) 100vw, 703px" /></figure>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Cómo crear un plugin de funciones imprescindibles (Must Use Plugins)</title>
		<link>https://danisanchez.net/como-crear-un-plugin-de-funciones-imprescindibles-must-use-plugins/</link>
		
		<dc:creator><![CDATA[dani.sanchez]]></dc:creator>
		<pubDate>Fri, 16 Oct 2020 07:16:05 +0000</pubDate>
				<category><![CDATA[Publicaciones]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[wordpress]]></category>
		<guid isPermaLink="false">https://www.gestionatuweb.net/?p=9570</guid>

					<description><![CDATA[Si eres desarrollador en WordPress, seguramente habrás creado plugins con funciones específicas para un proyecto con el peligro de que el cliente, un buen día, lo elimine por error o decida que no sirve para nada. Y es que para crear plugins «complejos», con una estructura de directorios y varios archivos de funciones, lo ideal [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Si eres desarrollador en WordPress, seguramente habrás creado plugins con funciones específicas para un proyecto con el peligro de que el cliente, un buen día, lo elimine por error o decida que no sirve para nada.</p>



<p class="wp-block-paragraph">Y es que para crear plugins «complejos», con una estructura de directorios y varios archivos de funciones, lo ideal es hacerlo de la forma convencional (subiéndolo al directorio /plugins de tu instalación). Pero existen casos en los que solo necesitas añadir unos cuantos snippets personalizados, como <em>un custom posts, taxonomías, algunos filters</em>&#8230;</p>



<p class="wp-block-paragraph">Para estos casos lo ideal es crear un <strong>plugin de funciones «indesinstalable»</strong>.</p>



<p class="wp-block-paragraph">Los plugins imprescindibles o <em>Must Use Plugins</em>, son archivos individuales que se alojan en el directorio mu-plugins (sin subdirectorios).</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="816" height="410" src="https://danisanchez.net/wp-content/uploads/2020/10/01-must-use-plugins.jpg" alt="" class="wp-image-9571" srcset="https://danisanchez.net/wp-content/uploads/2020/10/01-must-use-plugins.jpg 816w, https://danisanchez.net/wp-content/uploads/2020/10/01-must-use-plugins-300x151.jpg 300w, https://danisanchez.net/wp-content/uploads/2020/10/01-must-use-plugins-768x386.jpg 768w" sizes="auto, (max-width: 816px) 100vw, 816px" /></figure>



<p class="wp-block-paragraph">Su declaración es muy sencilla, basta con comentar al principio las etiquetas:</p>



<pre class="wp-block-code"><code>&lt;?php
/*
Plugin Name: Additionals Functions by Gestionatuweb
Author: Dani Sánchez, Gestionatuweb
Author URI: https://danisanchez.net/
Version: 1.0
Description: Funciones adicionales para el proyecto.
*/</code></pre>



<p class="wp-block-paragraph">Se pueden especificar más tags como Plugin URI, Licence, etc.</p>



<p class="wp-block-paragraph">Cualquier función que creemos en el <em>mu-plugin</em>, tendrá el mismo efecto que si la creamos en el archivo de funciones del theme (functions.php) o en un plugin corriente, con la diferencia de que este plugin no se puede desinstalar desde el panel de WordPress, ni siquiera por el administrador.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="900" height="388" src="https://danisanchez.net/wp-content/uploads/2020/10/02-vista-plugins-imprescindibles.jpg" alt="" class="wp-image-9572" srcset="https://danisanchez.net/wp-content/uploads/2020/10/02-vista-plugins-imprescindibles.jpg 900w, https://danisanchez.net/wp-content/uploads/2020/10/02-vista-plugins-imprescindibles-300x129.jpg 300w, https://danisanchez.net/wp-content/uploads/2020/10/02-vista-plugins-imprescindibles-768x331.jpg 768w" sizes="auto, (max-width: 900px) 100vw, 900px" /></figure>



<p class="wp-block-paragraph">Solo sería posible su eliminación desde el FTP.</p>



<p class="wp-block-paragraph">Si no conocías esta forma de crear plugins, seguramente te será muy útil en tus futuros proyectos.</p>



<p class="wp-block-paragraph">Nos vemos en el siguiente post <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Añadir campos personalizados con Advanced Custom Field</title>
		<link>https://danisanchez.net/anadir-campos-personalizados-con-advanced-custom-field/</link>
		
		<dc:creator><![CDATA[dani.sanchez]]></dc:creator>
		<pubDate>Wed, 10 Apr 2019 07:19:11 +0000</pubDate>
				<category><![CDATA[Publicaciones]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[advanced custom field]]></category>
		<category><![CDATA[desarrollo web]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[publicaciones]]></category>
		<category><![CDATA[tutoriales]]></category>
		<category><![CDATA[wordpress]]></category>
		<guid isPermaLink="false">https://www.gestionatuweb.net/?p=5336</guid>

					<description><![CDATA[Si queremos crear nuestros contenidos personalizados en WordPress, tenemos por un lado que crear nuestro propios custom posts, nuestras propias taxonomías y por supuesto, nuestros propios campos personalizados. ¿Para qué sirve un campo personalizado? Por defecto, en una entrada o página de WordPress tenemos dos campos principales para agregar información, el campo de título y [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Si queremos crear nuestros contenidos personalizados en WordPress, tenemos por un lado que crear nuestro propios <a href="https://danisanchez.net/crear-un-custom-post-en-wordpress-sin-plugins/" target="_blank" rel="noreferrer noopener">custom posts</a>, nuestras propias <a href="https://danisanchez.net/taxonomias-para-que-sirven-y-como-crearlas-sin-plugins/" target="_blank" rel="noreferrer noopener">taxonomías</a> y por supuesto, nuestros propios campos personalizados.</p>



<h3 class="wp-block-heading">¿Para qué sirve un campo personalizado?</h3>



<p class="wp-block-paragraph">Por defecto, en una entrada o página de WordPress tenemos dos campos principales para agregar información, el <strong>campo de título</strong> y el <strong>editor</strong> donde se redacta el contenido principal. Pero adicionalmente podemos agregar otro tipo de campos para mostrar en secciones especificas de nuestra plantilla o simplemente como información que solo veremos desde el modo de edición.</p>



<p class="wp-block-paragraph">Por ejemplo, podríamos crear un campo para poner el precio de un vehículo y llamar a ese dato en una ubicación especifica de nuestra plantilla. O podríamos crear un campo personalizado no visible al público, pero que guarde información importante sobre el vehículo, como información del anterior propietario, historial de revisiones etc.</p>



<h3 class="wp-block-heading">Advanced Custom Field</h3>



<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="760" height="248" src="https://danisanchez.net/wp-content/uploads/2019/04/01.acfield.jpg" alt="" class="wp-image-5337" srcset="https://danisanchez.net/wp-content/uploads/2019/04/01.acfield.jpg 760w, https://danisanchez.net/wp-content/uploads/2019/04/01.acfield-300x98.jpg 300w" sizes="auto, (max-width: 760px) 100vw, 760px" /></figure></div>



<p class="wp-block-paragraph">WordPress tiene su propio sistema de creación de campos personalizados, pero es algo confuso y poco intuitivo, por lo que muchos desarrolladores optamos por utilizar el plugin <a href="https://es.wordpress.org/plugins/advanced-custom-fields/" target="_blank" rel="noreferrer noopener">Advanced Custom Field</a>, que permite crear campos personalizados de múltiples tipos y llamarlos con sencillas funciones.</p>



<p class="wp-block-paragraph">Una vez instalado, Advanced Custom Field organiza los campos en grupos, por si necesitas crear diferentes campos para varios custom posts o páginas concretas, así que lo primero que haremos será crear un <strong>Nuevo Grupo de Campos</strong>:</p>



<div class="wp-block-image"><figure class="aligncenter"><img loading="lazy" decoding="async" width="557" height="222" src="https://danisanchez.net/wp-content/uploads/2019/04/02.anadir-grupo-de-campos.jpg" alt="" class="wp-image-5340" srcset="https://danisanchez.net/wp-content/uploads/2019/04/02.anadir-grupo-de-campos.jpg 557w, https://danisanchez.net/wp-content/uploads/2019/04/02.anadir-grupo-de-campos-300x120.jpg 300w" sizes="auto, (max-width: 557px) 100vw, 557px" /></figure></div>



<p class="wp-block-paragraph">Lo primero será darle un título al nuevo Grupo de Campos, por ejemplo «Detalles Vehículos».</p>



<p class="wp-block-paragraph">Antes de añadir los campos, vamos a ver algunos ajustes importantes del nuevo grupo de campos, para empezar su ubicación.</p>



<h3 class="wp-block-heading">Ubicación del grupo de campos</h3>



<p class="wp-block-paragraph">Lo que nos interesa es que este grupo de campos aparezca en el modo de edición de Vehículos, siendo irrelevante que aparezca en otros modos de edición como Entradas o Páginas.</p>



<p class="wp-block-paragraph">Así que definiremos la ubicación en los <strong>Post Type que sean igual a Vehículo:</strong></p>



<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="1000" height="428" src="https://danisanchez.net/wp-content/uploads/2019/04/03.ubicacion-acf.jpg" alt="" class="wp-image-5342" srcset="https://danisanchez.net/wp-content/uploads/2019/04/03.ubicacion-acf.jpg 1000w, https://danisanchez.net/wp-content/uploads/2019/04/03.ubicacion-acf-300x128.jpg 300w, https://danisanchez.net/wp-content/uploads/2019/04/03.ubicacion-acf-768x329.jpg 768w" sizes="auto, (max-width: 1000px) 100vw, 1000px" /></figure></div>



<h3 class="wp-block-heading">Ajustes del grupo de campos</h3>



<p class="wp-block-paragraph">En el apartado de <strong>Ajustes </strong>definiremos el estilo del grupo de campos, lo recomendable es utilizar el estilo <strong>Estándar (WP metabox)</strong> que permite la funcionalidad de arrastarlo y soltarlo en la posición que deseemos. Y hablando de posiciones, la siguiente opción nos permite ubicarlo en la zona de central del modo edición (antes o después del contenido) o en el sidebar (lateral).</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="916" height="226" src="https://danisanchez.net/wp-content/uploads/2019/04/04.ajustes-acf.jpg" alt="" class="wp-image-5344" srcset="https://danisanchez.net/wp-content/uploads/2019/04/04.ajustes-acf.jpg 916w, https://danisanchez.net/wp-content/uploads/2019/04/04.ajustes-acf-300x74.jpg 300w, https://danisanchez.net/wp-content/uploads/2019/04/04.ajustes-acf-768x189.jpg 768w" sizes="auto, (max-width: 916px) 100vw, 916px" /></figure></div>



<h3 class="wp-block-heading">Agregando campos</h3>



<p class="wp-block-paragraph">Ahora vamos a agregar los campos que necesitemos:</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="927" height="260" src="https://danisanchez.net/wp-content/uploads/2019/04/05-anadir-campo.jpg" alt="" class="wp-image-5345" srcset="https://danisanchez.net/wp-content/uploads/2019/04/05-anadir-campo.jpg 927w, https://danisanchez.net/wp-content/uploads/2019/04/05-anadir-campo-300x84.jpg 300w, https://danisanchez.net/wp-content/uploads/2019/04/05-anadir-campo-768x215.jpg 768w" sizes="auto, (max-width: 927px) 100vw, 927px" /></figure></div>



<p class="wp-block-paragraph">Vamos a agregar un campo para el precio:</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="914" height="571" src="https://danisanchez.net/wp-content/uploads/2019/04/06.propiedades-campo.jpg" alt="" class="wp-image-5346" srcset="https://danisanchez.net/wp-content/uploads/2019/04/06.propiedades-campo.jpg 914w, https://danisanchez.net/wp-content/uploads/2019/04/06.propiedades-campo-300x187.jpg 300w, https://danisanchez.net/wp-content/uploads/2019/04/06.propiedades-campo-768x480.jpg 768w" sizes="auto, (max-width: 914px) 100vw, 914px" /></figure></div>



<p class="wp-block-paragraph">Los parámetros más importantes son la <strong>Etiqueta</strong> (texto que se mostrará en la página de edición), el <strong>Nombre del campo</strong> (identificador único sin espacios ni caracateres especiales) y opcionalmente, un campo para las intrucciones. Por ejemplo, para el campo Precio vamos a insertar un campo de <strong>tipo numérico</strong>, puede que un futuro nos interese ordenar los resultados de una búsqueda de vehículos por su precio y si lo especificamos como una cadena de caracteres (con puntuaciones, símbolos de moneda&#8230;), el sistema no sabría ordenarlo correctamente, por lo que solo se introducirán números sin puntuaciones ni signos.</p>



<p class="wp-block-paragraph">Vamos a añadir un par de campos más, uno para la matrícula (de tipo texto) y otro para observaciones internas (de tipo área de texto):</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="913" height="468" src="https://danisanchez.net/wp-content/uploads/2019/04/07.campo-matricula.jpg" alt="" class="wp-image-5347" srcset="https://danisanchez.net/wp-content/uploads/2019/04/07.campo-matricula.jpg 913w, https://danisanchez.net/wp-content/uploads/2019/04/07.campo-matricula-300x154.jpg 300w, https://danisanchez.net/wp-content/uploads/2019/04/07.campo-matricula-768x394.jpg 768w" sizes="auto, (max-width: 913px) 100vw, 913px" /></figure></div>



<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="904" height="326" src="https://danisanchez.net/wp-content/uploads/2019/04/08.campo-observaciones.jpg" alt="" class="wp-image-5348" srcset="https://danisanchez.net/wp-content/uploads/2019/04/08.campo-observaciones.jpg 904w, https://danisanchez.net/wp-content/uploads/2019/04/08.campo-observaciones-300x108.jpg 300w, https://danisanchez.net/wp-content/uploads/2019/04/08.campo-observaciones-768x277.jpg 768w" sizes="auto, (max-width: 904px) 100vw, 904px" /></figure></div>



<p class="wp-block-paragraph">Una vez definidos todos los campos, publicamos:</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="1212" height="361" src="https://danisanchez.net/wp-content/uploads/2019/04/09.publicar-grupo-de-campos.jpg" alt="" class="wp-image-5349" srcset="https://danisanchez.net/wp-content/uploads/2019/04/09.publicar-grupo-de-campos.jpg 1212w, https://danisanchez.net/wp-content/uploads/2019/04/09.publicar-grupo-de-campos-300x89.jpg 300w, https://danisanchez.net/wp-content/uploads/2019/04/09.publicar-grupo-de-campos-1024x305.jpg 1024w, https://danisanchez.net/wp-content/uploads/2019/04/09.publicar-grupo-de-campos-768x229.jpg 768w" sizes="auto, (max-width: 1212px) 100vw, 1212px" /></figure></div>



<h3 class="wp-block-heading">Publicar el primer Vehículo</h3>



<p class="wp-block-paragraph">Ya estamos listos para publicar un nuevo vehículo. Como en toda entrada pondremos un título y un texto descriptivo y seleccionaremos su/s taxonomía/s, en este caso «Automóvil»:</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="1199" height="565" src="https://danisanchez.net/wp-content/uploads/2019/04/10.crear-nuevo-vehiculo.jpg" alt="" class="wp-image-5350" srcset="https://danisanchez.net/wp-content/uploads/2019/04/10.crear-nuevo-vehiculo.jpg 1199w, https://danisanchez.net/wp-content/uploads/2019/04/10.crear-nuevo-vehiculo-300x141.jpg 300w, https://danisanchez.net/wp-content/uploads/2019/04/10.crear-nuevo-vehiculo-1024x483.jpg 1024w, https://danisanchez.net/wp-content/uploads/2019/04/10.crear-nuevo-vehiculo-768x362.jpg 768w" sizes="auto, (max-width: 1199px) 100vw, 1199px" /></figure></div>



<p class="wp-block-paragraph">En la taxonomía de Extras rellenaremos algunas como: Aire Acondicionado, Dirección Asistida, ABS, etc. Y en nuestros nuevos campos personalizados rellenaremos el precio, la matrícula y las observaciones internas.</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="1019" height="563" src="https://danisanchez.net/wp-content/uploads/2019/04/11-detalles-vehiculo.jpg" alt="" class="wp-image-5351" srcset="https://danisanchez.net/wp-content/uploads/2019/04/11-detalles-vehiculo.jpg 1019w, https://danisanchez.net/wp-content/uploads/2019/04/11-detalles-vehiculo-300x166.jpg 300w, https://danisanchez.net/wp-content/uploads/2019/04/11-detalles-vehiculo-768x424.jpg 768w" sizes="auto, (max-width: 1019px) 100vw, 1019px" /></figure></div>



<p class="wp-block-paragraph">Ahora que ya tenemos nuestro nuevo contenido publicado es el momento de crear un Template para mostrarlo en pantalla, pero eso lo veremos en el próximo post <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Crear un botón de donación PayPal en WordPress (con y sin plugins)</title>
		<link>https://danisanchez.net/crear-un-boton-de-donacion-paypal-en-wordpress-con-y-sin-plugins/</link>
		
		<dc:creator><![CDATA[dani.sanchez]]></dc:creator>
		<pubDate>Mon, 01 Apr 2019 16:05:16 +0000</pubDate>
				<category><![CDATA[Publicaciones]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[publicaciones]]></category>
		<category><![CDATA[tutoriales]]></category>
		<category><![CDATA[wordpress]]></category>
		<guid isPermaLink="false">https://www.gestionatuweb.net/?p=5210</guid>

					<description><![CDATA[En este artículo veremos cómo insertar un botón de donación de PayPal en cualquier lugar de nuestro sitio web (una entrada, una página, un widget&#8230;) con el que podremos recibir donativos de nuestros usuarios/lectores. Lo primero, por supuesto es contar con una cuenta de PayPal, así que si no dispones de ella, ábrela en pocos [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">En este artículo veremos cómo insertar un botón de donación de PayPal en cualquier lugar de nuestro sitio web (una entrada, una página, un widget&#8230;) con el que podremos recibir donativos de nuestros usuarios/lectores.</p>



<p class="wp-block-paragraph">Lo primero, por supuesto es contar con una cuenta de PayPal, así que si no dispones de ella, <a href="https://www.paypal.com/es/webapps/mpp/account-selection" target="_blank" rel="noreferrer noopener">ábrela en pocos minutos</a>.</p>



<h2 class="wp-block-heading">Botón de donaciones PayPal con Plugin</h2>



<p class="wp-block-paragraph">Una vez creada nuestra cuenta en PayPal, la forma más cómoda y rápida de crear nuestro botón de donaciones es através de un plugin, en concreto usaremos <a href="https://es.wordpress.org/plugins/paypal-donations/" target="_blank" rel="noreferrer noopener">PayPal Donations,</a> un plugin gratuito y de código abierto.</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="751" height="246" src="https://danisanchez.net/wp-content/uploads/2019/04/01-boton-paypal.jpg" alt="" class="wp-image-5211" srcset="https://danisanchez.net/wp-content/uploads/2019/04/01-boton-paypal.jpg 751w, https://danisanchez.net/wp-content/uploads/2019/04/01-boton-paypal-300x98.jpg 300w" sizes="auto, (max-width: 751px) 100vw, 751px" /></figure></div>



<p class="wp-block-paragraph">Una vez instalado y activado, nos dirigimos al menú &#8211; <strong>Ajustes &#8211; PayPal Donations:</strong></p>



<h3 class="wp-block-heading">1. Configurar la cuenta</h3>



<p class="wp-block-paragraph">Insertamos nuestra dirección de correo de PayPal y seleccionamos la moneda en la que queremos recibir los pagos:</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="965" height="550" src="https://danisanchez.net/wp-content/uploads/2019/04/02.paypal-donations-ajustes-2-1-1.jpg" alt="" class="wp-image-5239" srcset="https://danisanchez.net/wp-content/uploads/2019/04/02.paypal-donations-ajustes-2-1-1.jpg 965w, https://danisanchez.net/wp-content/uploads/2019/04/02.paypal-donations-ajustes-2-1-1-300x171.jpg 300w, https://danisanchez.net/wp-content/uploads/2019/04/02.paypal-donations-ajustes-2-1-1-768x438.jpg 768w" sizes="auto, (max-width: 965px) 100vw, 965px" /></figure></div>



<h3 class="wp-block-heading">2. Ajustes opcionales</h3>



<p class="wp-block-paragraph">En nuestra cuenta de Paypal es posible crear plantillas de página de pago adaptadas según el tipo de pago que se vaya a realizar, por ejemplo puedes personalizar una página para pagos de tipo ventas, de tipo suscripción o de tipo donaciones. Si la hemos definido podemos especificarla en el campo «<strong>Estilo de página</strong>«, si no se especifica, se utilizará la página de pago por defecto.</p>



<p class="wp-block-paragraph">En la página de retorno redigiremos a nuestro usuario a una URL concreta, por ejemplo, una página de agradecimiento.</p>



<h3 class="wp-block-heading">3. Por defecto</h3>



<p class="wp-block-paragraph">Podemos fijar una cantidad por defecto para el donativo. Si lo dejamos en blanco, será el usuario el que tenga que introducir la cantidad a donar:</p>



<div class="wp-block-image"><figure class="aligncenter"><img decoding="async" src="https://danisanchez.net/wp-content/uploads/2019/04/02.paypal-donations-ajustes-2-1-1.jpg" alt="" class="wp-image-5214"/></figure></div>



<p class="wp-block-paragraph"><strong>Motivo de la donación: </strong>Es un texto opcional que aparecerá en la página de pago de Paypal, así como la <strong>Referencia</strong>, otro campo opcional.</p>



<h3 class="wp-block-heading">4. Botón de donación</h3>



<p class="wp-block-paragraph">En este apartado seleccionaremos el estilo para nuestro botón, permitiéndonos poder utilizar nuestro propio diseño especificando la URL de la ubicación de la imagen. Asímismo seleccionamos el idioma por defecto y guardamos los cambios.</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="638" height="479" src="https://danisanchez.net/wp-content/uploads/2019/04/02.paypal-donations-ajustes-3.jpg" alt="" class="wp-image-5216" srcset="https://danisanchez.net/wp-content/uploads/2019/04/02.paypal-donations-ajustes-3.jpg 638w, https://danisanchez.net/wp-content/uploads/2019/04/02.paypal-donations-ajustes-3-300x225.jpg 300w" sizes="auto, (max-width: 638px) 100vw, 638px" /></figure></div>



<h3 class="wp-block-heading">5. Ajustes avanzados</h3>



<p class="wp-block-paragraph">Algunos ajustes extras que nos ofrece el plugin se centran en la activación o desactivación de estadísticas, estilos CSS del botón, abrir la página de pago en PayPal en una nueva pestaña (para no perder el foco de nuestro sitio web), idiomas, etc. Si no estás seguro de lo que haces, mi recomendación es que lo dejes como está por defecto.</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="954" height="808" src="https://danisanchez.net/wp-content/uploads/2019/04/02.paypal-donations-ajustes-avanzados.jpg" alt="" class="wp-image-5218" srcset="https://danisanchez.net/wp-content/uploads/2019/04/02.paypal-donations-ajustes-avanzados.jpg 954w, https://danisanchez.net/wp-content/uploads/2019/04/02.paypal-donations-ajustes-avanzados-300x254.jpg 300w, https://danisanchez.net/wp-content/uploads/2019/04/02.paypal-donations-ajustes-avanzados-768x650.jpg 768w" sizes="auto, (max-width: 954px) 100vw, 954px" /></figure></div>



<p class="wp-block-paragraph">Otra opción interesante es activar el modo <strong>Sandbox de PayPal</strong>. Para ello necesitas crear una cuenta sandbox en <a href="http://developer.paypal.com" target="_blank" rel="noreferrer noopener">http://developer.paypal.com</a>. Sandbox es una especie de web clon de PayPal para pruebas. En ella, podrás crear cuentas de administrador y de cliente para probar el sistema de pagos en tu sitio web con compras ficticias.</p>



<p class="wp-block-paragraph">Terminados de configurar los ajustes, podrás llamar a tu botón de donativos en cualquier parte de tu web utilizando el shortcode:</p>



<pre class="wp-block-code"><code>&#91;paypal-donation]</code></pre>



<p class="wp-block-paragraph">Así mismo disponemos de un widget listo para arrastrar y soltar el cualquier sidebar (lateral, header o footer&#8230;)</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="347" height="542" src="https://danisanchez.net/wp-content/uploads/2019/04/03.paypal-widget.jpg" alt="" class="wp-image-5221" srcset="https://danisanchez.net/wp-content/uploads/2019/04/03.paypal-widget.jpg 347w, https://danisanchez.net/wp-content/uploads/2019/04/03.paypal-widget-192x300.jpg 192w" sizes="auto, (max-width: 347px) 100vw, 347px" /></figure></div>



<h2 class="wp-block-heading">Botón de donaciones PayPal sin Plugin</h2>



<p class="wp-block-paragraph">La alternativa a usar un plugin es crear nuestro propio botón de Donaciones desde el panel administrador de PayPal y obtener un código HTML que necesitamos pegar en nuestro sitio.</p>



<p class="wp-block-paragraph"><em>Debido a los cambios que pueda realizar PayPal en su panel de control, es posible que encuentres diferencias entre las capturas del artículo y el estado actual del panel de PayPal.</em></p>



<p class="wp-block-paragraph">Para crear un botón de donaciones en PayPal tenemos que acceder al menú «Herramientas &#8211; Todas las Herramientas» y localizar el apartado Botones de PayPal.</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="1250" height="526" src="https://danisanchez.net/wp-content/uploads/2019/04/04.botones-de-paypal.jpg" alt="" class="wp-image-5222" srcset="https://danisanchez.net/wp-content/uploads/2019/04/04.botones-de-paypal.jpg 1250w, https://danisanchez.net/wp-content/uploads/2019/04/04.botones-de-paypal-300x126.jpg 300w, https://danisanchez.net/wp-content/uploads/2019/04/04.botones-de-paypal-1024x431.jpg 1024w, https://danisanchez.net/wp-content/uploads/2019/04/04.botones-de-paypal-768x323.jpg 768w" sizes="auto, (max-width: 1250px) 100vw, 1250px" /></figure></div>



<p class="wp-block-paragraph">En el menú derecho seleccionamos <strong>Crear nuevo botón</strong></p>



<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="274" height="166" src="https://danisanchez.net/wp-content/uploads/2019/04/05-crear-nuevo-boton.jpg" alt="" class="wp-image-5223"/></figure></div>



<p class="wp-block-paragraph">Seleccionamos tipo de botón: Donativos</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="922" height="505" src="https://danisanchez.net/wp-content/uploads/2019/04/06-boton-donativos.jpg" alt="" class="wp-image-5224" srcset="https://danisanchez.net/wp-content/uploads/2019/04/06-boton-donativos.jpg 922w, https://danisanchez.net/wp-content/uploads/2019/04/06-boton-donativos-300x164.jpg 300w, https://danisanchez.net/wp-content/uploads/2019/04/06-boton-donativos-768x421.jpg 768w" sizes="auto, (max-width: 922px) 100vw, 922px" /></figure></div>



<p class="wp-block-paragraph">En el primer paso seleccionamos país, idioma y aspecto del botón:</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="802" height="577" src="https://danisanchez.net/wp-content/uploads/2019/04/07.paso-1-boton-donativos.jpg" alt="" class="wp-image-5225" srcset="https://danisanchez.net/wp-content/uploads/2019/04/07.paso-1-boton-donativos.jpg 802w, https://danisanchez.net/wp-content/uploads/2019/04/07.paso-1-boton-donativos-300x216.jpg 300w, https://danisanchez.net/wp-content/uploads/2019/04/07.paso-1-boton-donativos-768x553.jpg 768w" sizes="auto, (max-width: 802px) 100vw, 802px" /></figure></div>



<p class="wp-block-paragraph">En el siguiente paso podemos especificar nuestro logotipo para la página de pago, nuestro nombre, un texto opcional para la causa de la donación y si queremos seleccionar uno de los programas con los que PayPal colabora para donaciones. De no ser el caso, indicaremos que no.</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="866" height="597" src="https://danisanchez.net/wp-content/uploads/2019/04/08.paso-2-boton-donativos.jpg" alt="" class="wp-image-5226" srcset="https://danisanchez.net/wp-content/uploads/2019/04/08.paso-2-boton-donativos.jpg 866w, https://danisanchez.net/wp-content/uploads/2019/04/08.paso-2-boton-donativos-300x207.jpg 300w, https://danisanchez.net/wp-content/uploads/2019/04/08.paso-2-boton-donativos-768x529.jpg 768w" sizes="auto, (max-width: 866px) 100vw, 866px" /></figure></div>



<p class="wp-block-paragraph">En el siguiente paso especificamos la moneda por defecto (EUR), y seleccionaremos si queremos fijar un importe fijo para el donativo o que sea el usuario quien lo especifique. También podemos ofrecerle al usuario la posibilidad de convertirlo en un donativo periódico, que se efectúe mensualmente.</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="862" height="543" src="https://danisanchez.net/wp-content/uploads/2019/04/09.paso-3-boton-donativos.jpg" alt="" class="wp-image-5227" srcset="https://danisanchez.net/wp-content/uploads/2019/04/09.paso-3-boton-donativos.jpg 862w, https://danisanchez.net/wp-content/uploads/2019/04/09.paso-3-boton-donativos-300x189.jpg 300w, https://danisanchez.net/wp-content/uploads/2019/04/09.paso-3-boton-donativos-768x484.jpg 768w" sizes="auto, (max-width: 862px) 100vw, 862px" /></figure></div>



<h3 class="wp-block-heading">Opciones finales</h3>



<p class="wp-block-paragraph">Las últimas opciones de configuarción se dividen en 4 apartados.</p>



<p class="wp-block-paragraph">En primer lugar podemos especificar si queremos obtener las direcciones de correo electrónico de los donantes y si queremos permitir a los donantes enviar una nota junto al donativo.</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="886" height="433" src="https://danisanchez.net/wp-content/uploads/2019/04/10.paso-4-opciones-finales.jpg" alt="" class="wp-image-5228" srcset="https://danisanchez.net/wp-content/uploads/2019/04/10.paso-4-opciones-finales.jpg 886w, https://danisanchez.net/wp-content/uploads/2019/04/10.paso-4-opciones-finales-300x147.jpg 300w, https://danisanchez.net/wp-content/uploads/2019/04/10.paso-4-opciones-finales-768x375.jpg 768w" sizes="auto, (max-width: 886px) 100vw, 886px" /></figure></div>



<p class="wp-block-paragraph">El siguiente apartado hace referencia a las URLs de redirección, una para cuando se completa correctamente un donativo y otra para cuando se produce un error en el mismo.</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="482" height="261" src="https://danisanchez.net/wp-content/uploads/2019/04/11.paso-5-opciones-finales.jpg" alt="" class="wp-image-5229" srcset="https://danisanchez.net/wp-content/uploads/2019/04/11.paso-5-opciones-finales.jpg 482w, https://danisanchez.net/wp-content/uploads/2019/04/11.paso-5-opciones-finales-300x162.jpg 300w" sizes="auto, (max-width: 482px) 100vw, 482px" /></figure></div>



<p class="wp-block-paragraph">En esta opción decidiremos si PayPal nos reconocerá por nuestra dirección de correo electrónico de PayPal o por nuestro ID de vendedor. PayPal recomienda utilizar el ID de vendedor, de esta forma nuestra dirección de e-mail no quedará expuesta a posibles bots de SPAM.</p>



<p class="wp-block-paragraph">Recordemos que a la hora de configurar el plugin PayPal Donations, tuvimos que especificar la dirección de correo de nuestra cuenta de PayPal (no el ID), por lo que crear el botón de donativos de esta forma es una ventaja (a parte de óptimo).</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="799" height="198" src="https://danisanchez.net/wp-content/uploads/2019/04/12.paso-6-opciones-finales.jpg" alt="" class="wp-image-5230" srcset="https://danisanchez.net/wp-content/uploads/2019/04/12.paso-6-opciones-finales.jpg 799w, https://danisanchez.net/wp-content/uploads/2019/04/12.paso-6-opciones-finales-300x74.jpg 300w, https://danisanchez.net/wp-content/uploads/2019/04/12.paso-6-opciones-finales-768x190.jpg 768w" sizes="auto, (max-width: 799px) 100vw, 799px" /></figure></div>



<p class="wp-block-paragraph">La última opción está destinada a usuarios avanzados o desarrolladores. En resumen, sirve para enviar ciertas variables a un script de nuestro sitio web que procese la información de pago de PayPal, por si el desarrollador quiere hacer alguna función o tarea cada vez que se reciba un pago en el sitio web.</p>



<p class="wp-block-paragraph">Para terminar, pulsamos el botón <strong>Finalizar y obtener código:</strong></p>



<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="632" height="535" src="https://danisanchez.net/wp-content/uploads/2019/04/13.paso-7-opciones-finales.jpg" alt="" class="wp-image-5232" srcset="https://danisanchez.net/wp-content/uploads/2019/04/13.paso-7-opciones-finales.jpg 632w, https://danisanchez.net/wp-content/uploads/2019/04/13.paso-7-opciones-finales-300x254.jpg 300w" sizes="auto, (max-width: 632px) 100vw, 632px" /></figure></div>



<p class="wp-block-paragraph">Para pegar este código HTML, solo tenemos que irnos a cualquier página o entrada y poner el editor de WordPress en modo HTML:</p>



<div class="wp-block-image"><figure class="aligncenter"><img loading="lazy" decoding="async" width="881" height="199" src="https://danisanchez.net/wp-content/uploads/2019/04/14.paso-8-modo-html.jpg" alt="" class="wp-image-5234" srcset="https://danisanchez.net/wp-content/uploads/2019/04/14.paso-8-modo-html.jpg 881w, https://danisanchez.net/wp-content/uploads/2019/04/14.paso-8-modo-html-300x68.jpg 300w, https://danisanchez.net/wp-content/uploads/2019/04/14.paso-8-modo-html-768x173.jpg 768w" sizes="auto, (max-width: 881px) 100vw, 881px" /></figure></div>



<p class="wp-block-paragraph">Si estamos usando el nuevo editor Gutemberg, solo tenemos que añadir un bloque de HTML Personalizado y pegar el código:</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="412" height="440" src="https://danisanchez.net/wp-content/uploads/2019/04/15.paso-9-modo-html-personalizado.jpg" alt="" class="wp-image-5236" srcset="https://danisanchez.net/wp-content/uploads/2019/04/15.paso-9-modo-html-personalizado.jpg 412w, https://danisanchez.net/wp-content/uploads/2019/04/15.paso-9-modo-html-personalizado-281x300.jpg 281w" sizes="auto, (max-width: 412px) 100vw, 412px" /></figure></div>



<p class="wp-block-paragraph">O si queremos añadirlo como un widget, usaremos el Widget de HTML Personalizado:</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="831" height="565" src="https://danisanchez.net/wp-content/uploads/2019/04/16.paso-10-modo-widget.jpg" alt="" class="wp-image-5237" srcset="https://danisanchez.net/wp-content/uploads/2019/04/16.paso-10-modo-widget.jpg 831w, https://danisanchez.net/wp-content/uploads/2019/04/16.paso-10-modo-widget-300x204.jpg 300w, https://danisanchez.net/wp-content/uploads/2019/04/16.paso-10-modo-widget-768x522.jpg 768w" sizes="auto, (max-width: 831px) 100vw, 831px" /></figure></div>



<p class="wp-block-paragraph">Y eso es todo. ya no hay excusa para no integrar nuestro propio botón de donaciones en nuestro sitio web <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>WooCommerce, precios distintos dependiendo del rol</title>
		<link>https://danisanchez.net/woocommerce-precios-distintos-dependiendo-del-rol/</link>
					<comments>https://danisanchez.net/woocommerce-precios-distintos-dependiendo-del-rol/#comments</comments>
		
		<dc:creator><![CDATA[dani.sanchez]]></dc:creator>
		<pubDate>Tue, 05 Mar 2019 08:52:07 +0000</pubDate>
				<category><![CDATA[Publicaciones]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[WooCommerce]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[woocommerce]]></category>
		<guid isPermaLink="false">https://www.gestionatuweb.net/?p=5173</guid>

					<description><![CDATA[¿Sabías que puedes poner un precio distinto a tus productos en WooCommerce según el rol del usuario activo? Esto abre todo un abanico de posibilidades, sobre todo como reclamo para conseguir nuevos suscriptores, fidelizar clientes, nuevas promociones&#8230; Imagina que quieres incentivar la primera compra de un cliente informándole que todas sus compras futuras tendrán un [&#8230;]]]></description>
										<content:encoded><![CDATA[
<iframe loading="lazy" width="100%" height="315" src="https://www.youtube-nocookie.com/embed/YuSoB9eEHO4" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen=""></iframe>



<div style="height:25px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="wp-block-paragraph">¿Sabías que puedes poner un precio distinto a tus productos en WooCommerce según el rol del usuario activo?</p>



<p class="wp-block-paragraph">Esto abre todo un abanico de posibilidades, sobre todo como reclamo para conseguir nuevos suscriptores, fidelizar clientes, nuevas promociones&#8230;</p>



<p class="wp-block-paragraph">Imagina que quieres incentivar la primera compra de un cliente informándole que todas sus compras futuras tendrán un 10% de descuento. O que has abierto un sistema de suscripción y quieres compensar a tus subscritores con un descuento personalizado.</p>



<p class="wp-block-paragraph">Y además podrás aplicar el descuento solo en los productos que te interese y para los roles que te interese.</p>



<p class="wp-block-paragraph">Pero es que además podrás hacerlo gratis, gracias al plugin <strong><a rel="noreferrer noopener" aria-label="WC Role Based Price  (opens in a new tab)" href="https://es.wordpress.org/plugins/woocommerce-role-based-price/" target="_blank">WC Role Based Price</a></strong></p>



<p class="wp-block-paragraph">Su configuración es muy sencilla, una vez instalado tendremos un nuevo menú de opciones en WooCommerce: <br></p>



<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="387" height="341" src="https://danisanchez.net/wp-content/uploads/2019/03/02.wc-role-based-price-settings.jpg" alt="" class="wp-image-5174" srcset="https://danisanchez.net/wp-content/uploads/2019/03/02.wc-role-based-price-settings.jpg 387w, https://danisanchez.net/wp-content/uploads/2019/03/02.wc-role-based-price-settings-300x264.jpg 300w" sizes="auto, (max-width: 387px) 100vw, 387px" /></figure></div>



<p class="wp-block-paragraph">En la pestaña de ajustes <strong>General</strong>, podremos especificar los roles a los que vamos a definir precios distintos respecto del usuario general o visitante.</p>



<p class="wp-block-paragraph">Al posicionar el ratón sobre el campo <strong>Allowed User Roles</strong>, se nos deplegará la lista de roles actuales en nuestra instalación.</p>



<p class="wp-block-paragraph">En el campo <strong>Allowed Product Pricing</strong>, seleccionamos los campos de precio que queremos añadir a los productos en el modo de edición, como el campo para poner el precio normal y el campo para poner el precio con el descuento.</p>



<p class="wp-block-paragraph">Además podemos personalizar las etiquetas de estos campos.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="836" height="413" src="https://danisanchez.net/wp-content/uploads/2019/03/03-ajustes-wc-role-based-price.jpg" alt="" class="wp-image-5175" srcset="https://danisanchez.net/wp-content/uploads/2019/03/03-ajustes-wc-role-based-price.jpg 836w, https://danisanchez.net/wp-content/uploads/2019/03/03-ajustes-wc-role-based-price-300x148.jpg 300w, https://danisanchez.net/wp-content/uploads/2019/03/03-ajustes-wc-role-based-price-768x379.jpg 768w" sizes="auto, (max-width: 836px) 100vw, 836px" /></figure>



<p class="wp-block-paragraph">Recuerda que puedes crear tus propios roles personalizados, si no sabes cómo hacerlo revisa este post: <a rel="noreferrer noopener" aria-label="Cómo crear roles personalizados en WordPress (opens in a new tab)" href="https://danisanchez.net/como-crear-roles-personalizados-en-wordpress-sin-plugins/" target="_blank"><strong>Cómo crear roles personalizados en WordPress</strong></a>.</p>



<p class="wp-block-paragraph">Ahora solo tenemos que ir a la edición de un producto y sobre la parte final localizar la sección <strong>WC Role Based Price Editor</strong> para habilitarlo:</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="847" height="201" src="https://danisanchez.net/wp-content/uploads/2019/03/04.habilitar-wc-role-based-price.jpg" alt="" class="wp-image-5176" srcset="https://danisanchez.net/wp-content/uploads/2019/03/04.habilitar-wc-role-based-price.jpg 847w, https://danisanchez.net/wp-content/uploads/2019/03/04.habilitar-wc-role-based-price-300x71.jpg 300w, https://danisanchez.net/wp-content/uploads/2019/03/04.habilitar-wc-role-based-price-768x182.jpg 768w" sizes="auto, (max-width: 847px) 100vw, 847px" /></figure>



<p class="wp-block-paragraph">En la columna izquierda veremos los roles que añadimos en los ajustes del plugin para especificar precios diferentes. Solo tenemos que activarlos y especificar tanto su precio normal como su precio promocional:</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="839" height="220" src="https://danisanchez.net/wp-content/uploads/2019/03/05.habilitar-roles-y-especificar-precio.jpg" alt="" class="wp-image-5177" srcset="https://danisanchez.net/wp-content/uploads/2019/03/05.habilitar-roles-y-especificar-precio.jpg 839w, https://danisanchez.net/wp-content/uploads/2019/03/05.habilitar-roles-y-especificar-precio-300x79.jpg 300w, https://danisanchez.net/wp-content/uploads/2019/03/05.habilitar-roles-y-especificar-precio-768x201.jpg 768w" sizes="auto, (max-width: 839px) 100vw, 839px" /></figure>



<p class="wp-block-paragraph">En el momento que un usuario con rol de Suscriptor acceda al producto, verá el precio normal tachado y su precio promocional:<br></p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="789" height="487" src="https://danisanchez.net/wp-content/uploads/2019/03/06.ficha-producto-oferta.jpg" alt="" class="wp-image-5178" srcset="https://danisanchez.net/wp-content/uploads/2019/03/06.ficha-producto-oferta.jpg 789w, https://danisanchez.net/wp-content/uploads/2019/03/06.ficha-producto-oferta-300x185.jpg 300w, https://danisanchez.net/wp-content/uploads/2019/03/06.ficha-producto-oferta-768x474.jpg 768w" sizes="auto, (max-width: 789px) 100vw, 789px" /></figure>



<p class="wp-block-paragraph">Pero eso es algo que veremos en otros posts <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<p class="wp-block-paragraph">Las posibilidades pueden ser muchas, por ejemplo, podríamos aprovechar los hooks de WooCommerce para poner en los productos promocionales un texto personalizado «Oferta solo para clientes». </p>
]]></content:encoded>
					
					<wfw:commentRss>https://danisanchez.net/woocommerce-precios-distintos-dependiendo-del-rol/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title>WordPress: Crear nuestro propio plugin de funciones</title>
		<link>https://danisanchez.net/wordpress-crear-nuestro-propio-plugin-de-funciones/</link>
					<comments>https://danisanchez.net/wordpress-crear-nuestro-propio-plugin-de-funciones/#comments</comments>
		
		<dc:creator><![CDATA[dani.sanchez]]></dc:creator>
		<pubDate>Mon, 03 Sep 2018 07:00:04 +0000</pubDate>
				<category><![CDATA[Publicaciones]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[desarrollo web]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[programación web]]></category>
		<category><![CDATA[publicaciones]]></category>
		<category><![CDATA[tutoriales]]></category>
		<category><![CDATA[wordpress]]></category>
		<guid isPermaLink="false">https://www.gestionatuweb.net/?p=4283</guid>

					<description><![CDATA[Cuando queremos agregar funciones personalizadas a nuestro proyecto de WordPress, ya sea creadas por nosotros o que hayamos visto en otros sitios web, tenemos que incorporarlas normalmente al archivo functions.php de nuestro tema activo. El problema es, que si estamos usando un tema de terceros y este se actualiza, también será actualizado el archivo functions.php [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Cuando queremos agregar funciones personalizadas a nuestro proyecto de WordPress, ya sea creadas por nosotros o que hayamos visto en otros sitios web, tenemos que incorporarlas normalmente al archivo functions.php de nuestro tema activo.</p>



<p class="wp-block-paragraph">El problema es, que si estamos usando un tema de terceros y este se actualiza, también será actualizado el archivo functions.php y perderemos todas las funciones que hayamos añadido manualmente.</p>



<p class="wp-block-paragraph">Para evitar esto también tenemos la opción de usar un <a href="https://danisanchez.net/crea-un-tema-hijo-child-theme-a-partir-de-un-tema-principal-en-wordpress/" target="_blank" rel="noreferrer noopener">tema hijo o child-theme.</a></p>



<p class="wp-block-paragraph">Aunque también podremos crear nuestro propio plugin de funciones y activarlo en la sección de Plugins como si de un plugin de terceros se tratara. <strong>De hecho es lo que se recomienda para agregar funciones que no tienen que ver con la plantilla instalada</strong>. Así si algún día decides cambiar la plantilla, tus funciones y configuraciones se mantendrán en tu plugin a parte.</p>



<p class="wp-block-paragraph">Básicamente consiste en crear un archivo dentro del directorio de plugins de nuestro proyecto, que va a actuar como un archivo de funciones independiente del tema de WordPress, pero que todas las funciones que incorporemos a él funcionarán de igual modo.</p>



<p class="wp-block-paragraph">Para hacerlo, solamente tenemos que irnos al directorio de plugins de WordPress y crear un nuevo directorio al que llamaremos por ejemplo «mi-plugin».</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="920" height="276" src="https://danisanchez.net/wp-content/uploads/2018/08/archivo-funciones-001.jpg" alt="" class="wp-image-4284" srcset="https://danisanchez.net/wp-content/uploads/2018/08/archivo-funciones-001.jpg 920w, https://danisanchez.net/wp-content/uploads/2018/08/archivo-funciones-001-300x90.jpg 300w, https://danisanchez.net/wp-content/uploads/2018/08/archivo-funciones-001-768x230.jpg 768w" sizes="auto, (max-width: 920px) 100vw, 920px" /></figure>



<p class="wp-block-paragraph">Ahora dentro del nuevo directorio creamos un archivo .php llamado por ejemplo «mi-plugin.php»:</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="919" height="277" src="https://danisanchez.net/wp-content/uploads/2018/08/archivo-funciones-002.jpg" alt="" class="wp-image-4285" srcset="https://danisanchez.net/wp-content/uploads/2018/08/archivo-funciones-002.jpg 919w, https://danisanchez.net/wp-content/uploads/2018/08/archivo-funciones-002-300x90.jpg 300w, https://danisanchez.net/wp-content/uploads/2018/08/archivo-funciones-002-768x231.jpg 768w" sizes="auto, (max-width: 919px) 100vw, 919px" /></figure>



<p class="wp-block-paragraph">Lo editamos con nuestro editor de código favorito y vamos añadir algunas líneas comentadas que serán usadas por WordPress para reconocer detalles del nuevo plugin:</p>



<pre class="wp-block-code"><code> /*
 * Plugin Name:       Nombre de tu plugin
 * Plugin URI:        https://dominio.com
 * Description:       Descripción de tu plugin
 * Version:           1.0
 * Requires at least: 5.2
 * Requires PHP:      8.2
 * Author:            Nombre autor
 * Author URI:        https://author.example.com/
 * License:           GPL v2 or later
 * License URI:       https://www.gnu.org/licenses/gpl-2.0.html
 * Update URI:        https://example.com/my-plugin/
 * Text Domain:       nombre-de-tu-plugin
 * Domain Path:       /languages
 * Requires Plugins:  my-plugin, yet-another-plugin
 */</code></pre>



<p class="wp-block-paragraph">Creo que no hace falta explicar las líneas pues son muy intuitivas. En el momento que guardemos los cambios, si nos dirigimos a la sección de plugins de WordPress, veremos que este ha sido detectado y reconocido por las líneas anteriores que hemos especificado:</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="988" height="601" src="https://danisanchez.net/wp-content/uploads/2018/08/archivo-funciones-003.jpg" alt="" class="wp-image-4286" srcset="https://danisanchez.net/wp-content/uploads/2018/08/archivo-funciones-003.jpg 988w, https://danisanchez.net/wp-content/uploads/2018/08/archivo-funciones-003-300x182.jpg 300w, https://danisanchez.net/wp-content/uploads/2018/08/archivo-funciones-003-768x467.jpg 768w" sizes="auto, (max-width: 988px) 100vw, 988px" /></figure>



<p class="wp-block-paragraph">Ahora solo tenemos que activarlo y <strong>mantenerlo activo</strong> para que todo lo que incorporemos a él funcione.</p>



<p class="wp-block-paragraph">Ya no tenemos que preocuparnos de que nuestro tema se actualice y perdamos cualquier función que hayamos especificado en el functions.php, porque estarán a salvo en nuestro propio plugin de funciones.</p>


<div class="wp-block-image">
<figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="642" height="164" src="https://danisanchez.net/wp-content/uploads/2018/08/archivo-funciones-004.jpg" alt="" class="wp-image-4287" srcset="https://danisanchez.net/wp-content/uploads/2018/08/archivo-funciones-004.jpg 642w, https://danisanchez.net/wp-content/uploads/2018/08/archivo-funciones-004-300x77.jpg 300w" sizes="auto, (max-width: 642px) 100vw, 642px" /></figure>
</div>


<p class="wp-block-paragraph">Espero que os haya resultado de interés y nos vemos en el siguiente post! <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
]]></content:encoded>
					
					<wfw:commentRss>https://danisanchez.net/wordpress-crear-nuestro-propio-plugin-de-funciones/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
		<item>
		<title>Modificar la Biblioteca de Medios para que los usuarios solo vean sus propios archivos (WordPress)</title>
		<link>https://danisanchez.net/modificar-la-libreria-medios-los-usuarios-solo-vean-propios-archivos-wordpress/</link>
					<comments>https://danisanchez.net/modificar-la-libreria-medios-los-usuarios-solo-vean-propios-archivos-wordpress/#comments</comments>
		
		<dc:creator><![CDATA[dani.sanchez]]></dc:creator>
		<pubDate>Tue, 16 Jan 2018 16:56:24 +0000</pubDate>
				<category><![CDATA[Publicaciones]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[colaboradores]]></category>
		<category><![CDATA[desarrollo web]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[programación web]]></category>
		<category><![CDATA[publicaciones]]></category>
		<category><![CDATA[tutoriales]]></category>
		<guid isPermaLink="false">https://www.gestionatuweb.net/?p=3598</guid>

					<description><![CDATA[En el último post vimos cómo dar permisos a nuestros usuarios colaboradores para cargar archivos a la Biblioteca de Medios y poder usarlos en sus entradas. Llegados a este punto, puede que nos interese hacer que nuestros colaboradores sólo puedan ver sus propios archivos y los de nadie más. Esto como siempre podemos implementarlo mediante [&#8230;]]]></description>
										<content:encoded><![CDATA[


<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Cómo limitar la Librería de Medios para que los usuarios solo vean sus archivos (WordPress)" width="500" height="281" src="https://www.youtube.com/embed/JpdFPVfDO8E?start=2&#038;feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<p class="wp-block-paragraph">En el último post vimos <a rel="noreferrer noopener" href="https://danisanchez.net/permitir-usuario-colaborador-subir-archivos-desde-frontend-wordpress/" target="_blank">cómo dar permisos a nuestros usuarios colaboradores para cargar archivos</a> a la Biblioteca de Medios y poder usarlos en sus entradas. Llegados a este punto, puede que nos interese hacer que nuestros colaboradores sólo puedan ver sus propios archivos y los de nadie más.</p>



<p class="wp-block-paragraph">Esto como siempre podemos implementarlo mediante código en el archivo <em>functions.php</em> o también mediante un sencillo <em>plugin</em>. Vamos a ver ambos métodos, pues cada uno tiene sus ventajas e inconvenientes.</p>



<p class="wp-block-paragraph">Por un lado, usar código nos obliga a estar al tanto del <em><a rel="noreferrer noopener" aria-label="Códex de WordPress (opens in a new tab)" href="https://codex.wordpress.org/" target="_blank">Códex de WordPress</a></em> por si en una futura actualización&nbsp;se modifica alguna función, hook o metodología, que haga errar nuestro código. En cambio ganaremos en optimización, pues los plugins que instalamos siempre incluyen archivos, funciones y código que no necesitamos.</p>



<p class="codigo-resaltado wp-block-paragraph">El código:</p>



<pre class="wp-block-code"><code>&lt;?php
//Limitar el acceso a la librería solo a tus propios archivos
 function mostrar_solamente_archivos_del_usuario($query){
    $user_id = get_current_user_id();

    if($user_id &amp;&amp; !current_user_can('activate_plugins') &amp;&amp; !current_user_can('edit_others_posts')){
        $query&#91;'author'] = $user_id;
    }
    return $query;
} 
add_filter('ajax_query_attachments_args', 'mostrar_solamente_archivos_del_usuario');
?&gt;</code></pre>



<p class="wp-block-paragraph">Si optamos por usar el plugin, conviene asegurarnos de que su autor lo actualiza con frecuencia para mantener la compatibilidad con las nuevas versiones de WordPress.</p>



<p class="wp-block-paragraph">En este caso vamos a usar <a href="https://wordpress.org/plugins/wp-users-media/" target="_blank" rel="noreferrer noopener">WP Users Media</a>, que en el momento de escribir este artículo, hace unas 3 semanas que se actualizó, lo cual indica que su autor lo está manteniendo.</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="585" height="248" src="https://danisanchez.net/wp-content/uploads/2018/01/006-1-1.jpg" alt="" class="wp-image-3599" srcset="https://danisanchez.net/wp-content/uploads/2018/01/006-1-1.jpg 585w, https://danisanchez.net/wp-content/uploads/2018/01/006-1-1-300x127.jpg 300w" sizes="auto, (max-width: 585px) 100vw, 585px" /></figure></div>



<p class="wp-block-paragraph">Su configuración es muy simple, y una vez instalado y activado nos dirigimos al menú Ajustes &#8211; WP Users Media y solo tenemos que marcar los roles a los que aplicar la restricción de ver únicamente sus archivos en la biblioteca de medios:</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="779" height="550" src="https://danisanchez.net/wp-content/uploads/2018/01/007.jpg" alt="" class="wp-image-3600" srcset="https://danisanchez.net/wp-content/uploads/2018/01/007.jpg 779w, https://danisanchez.net/wp-content/uploads/2018/01/007-300x212.jpg 300w, https://danisanchez.net/wp-content/uploads/2018/01/007-768x542.jpg 768w" sizes="auto, (max-width: 779px) 100vw, 779px" /></figure></div>



<p class="wp-block-paragraph">Si también queremos ampliar esta limitación al administrador (por si existen varios administradores en el sitio web), podemos marcar la opción:</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><img loading="lazy" decoding="async" width="580" height="149" src="https://danisanchez.net/wp-content/uploads/2018/01/008.jpg" alt="" class="wp-image-3601" srcset="https://danisanchez.net/wp-content/uploads/2018/01/008.jpg 580w, https://danisanchez.net/wp-content/uploads/2018/01/008-300x77.jpg 300w" sizes="auto, (max-width: 580px) 100vw, 580px" /></figure></div>



<p class="wp-block-paragraph">Y eso es todo de momento. Espero que esta nueva serie de Posts ayuden a aquellos que como yo, necesitaban habilitar zonas especiales para que otros usuarios puedan añadir contenido al sitio web.</p>



<p class="wp-block-paragraph">Un saludo y hasta el próximo post!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://danisanchez.net/modificar-la-libreria-medios-los-usuarios-solo-vean-propios-archivos-wordpress/feed/</wfw:commentRss>
			<slash:comments>14</slash:comments>
		
		
			</item>
		<item>
		<title>Integrar Fluidbox en tus galerías de WordPress</title>
		<link>https://danisanchez.net/integrar-fluidbox-en-tus-galerias-de-wordpress/</link>
					<comments>https://danisanchez.net/integrar-fluidbox-en-tus-galerias-de-wordpress/#comments</comments>
		
		<dc:creator><![CDATA[dani.sanchez]]></dc:creator>
		<pubDate>Tue, 19 Sep 2017 07:34:20 +0000</pubDate>
				<category><![CDATA[Publicaciones]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[desarrollo web]]></category>
		<category><![CDATA[imágenes]]></category>
		<category><![CDATA[páginas web]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[programación web]]></category>
		<category><![CDATA[publicaciones]]></category>
		<category><![CDATA[tutoriales]]></category>
		<category><![CDATA[wordpress]]></category>
		<guid isPermaLink="false">https://www.gestionatuweb.net/?p=3316</guid>

					<description><![CDATA[Las galerías por defecto en WordPress son bastante sencillas y poco funcionales. Además pueden despistar a nuestros usuarios sacándoles de la página o artículo en el que se encuentran para ampliar una imagen. Existen multitud de plugin que dan dinamismo y funcionalidad a las galerías, como Jquery Lightbox o la propia que se integra en [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Las galerías por defecto en WordPress son bastante sencillas y poco 
funcionales. Además pueden despistar a nuestros usuarios sacándoles de 
la página o artículo en el que se encuentran para ampliar una imagen.</p>



<p class="wp-block-paragraph">Existen multitud de plugin que dan dinamismo y funcionalidad a las 
galerías, como Jquery Lightbox o la propia que se integra en JetPack.</p>



<p class="wp-block-paragraph">Pero en este artículo vamos a ver cómo integrar <a href="http://terrymun.github.io/Fluidbox/demo/index.html" target="_blank" rel="noreferrer noopener">Fuidbox</a> de forma manual, un módulo para galerías WordPress que destaca por su sencillez y elegancia.</p>



<p class="wp-block-paragraph">En la página principal de&nbsp;<a href="http://terrymun.github.io/Fluidbox/demo/index.html" target="_blank" rel="noreferrer noopener">Fuidbox</a>
 podéis ver el efecto aplicado a varias imágenes, las cuales se amplían 
con un suave zoom al hacer clic y vuelven a su estado inicial haciendo 
otro clic.</p>



<p class="wp-block-paragraph">Para integrarlo en nuestra plantilla de WordPress debemos descargar los archivos desde el enlace a <a href="https://github.com/terrymun/Fluidbox" target="_blank" rel="noreferrer noopener">GitHub</a> o <a href="https://cdnjs.com/libraries/fluidbox" target="_blank" rel="noreferrer noopener">cdnjs</a>. En el artículo lo haremos desde GitHub.</p>



<figure class="wp-block-image size-large"><a href="https://danisanchez.net/wp-content/uploads/2017/09/003-1-1.jpg"><img loading="lazy" decoding="async" width="1024" height="309" src="https://danisanchez.net/wp-content/uploads/2017/09/003-1-1024x309.jpg" alt="" class="wp-image-7724" srcset="https://danisanchez.net/wp-content/uploads/2017/09/003-1-1024x309.jpg 1024w, https://danisanchez.net/wp-content/uploads/2017/09/003-1-300x91.jpg 300w, https://danisanchez.net/wp-content/uploads/2017/09/003-1-768x232.jpg 768w, https://danisanchez.net/wp-content/uploads/2017/09/003-1.jpg 1305w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>



<p class="wp-block-paragraph">Una vez dentro de GitHub localizamos el botón Clone or Download y descargamos el módulo Fluidbox en ZIP.</p>



<p class="wp-block-paragraph">Una vez extraídos los archivos, los que nos interesan se encuentran en la carpeta Dist, donde hay otras dos carpetas: css y js.</p>



<p class="wp-block-paragraph">Y copiamos los archivos:</p>



<ul class="wp-block-list"><li>fluidbox.min.css</li><li>jquery.fluidbox.min.js</li></ul>



<p class="wp-block-paragraph">Tanto el archivo css como el JavaScript debemos copiarlos en la 
plantilla de nuestro proyecto web, cada uno dentro de su sub-carpeta 
corresponiente (/css para el archivo de estilos y /js para el 
JavaScript). Muy importante que estén en las rutas indicadas ya que 
vamos a hacer referencia a ellas más adelante y no funcionarán si los 
archivos se encuentran en otro sitio. Ahora creamos un nuevo archivo al 
que llamaremos por ejemplo: iniciar-fluidbox.js. Copiamos dentro el 
siguiente código y lo guardamos también dentro de la carpeta /js en 
nuestra plantilla principal, junto al&nbsp;jquery.fluidbox.min.js.</p>



<h2 class="wp-block-heading">2. Código javascript para iniciar Fluidbox.</h2>



<pre class="wp-block-code"><code>$ = jQuery.noConflict();

$(document).ready(function(){
    $('.gallery a').each(function(){
        $(this).attr({'data-fluidbox' : ''});
    });
 
    if($('&#91;data-fluidbox]').length > 0){
        $('&#91;data-fluidbox]').fluidbox();
    }
});</code></pre>



<p class="wp-block-paragraph">Esto hará que el efecto Fluidbox se aplique a todos los elementos 
&lt;a href&gt; dentro de la clase .gallery que es la usada por las 
galerías WordPress, con lo cual se aplicará a cada una de las imágenes.</p>



<p class="wp-block-paragraph">Seguidamente accedemos al archivo functions.php de nuestra plantilla y
 más o menos al final del código añadimos la siguiente función para 
llamar tanto al css de fluidbox, como a los JavaScript creados.</p>



<h2 class="wp-block-heading">Código PHP para el archivo functions.php</h2>



<pre class="wp-block-code"><code>&lt;?php
    function cargar_fluidbox(){
        wp_enqueue_style("fluidboxcss", get_template_directory_uri()."/css/fluidbox.min.css", array(), "2.0.0");
        wp_enqueue_script("fluidboxjs", get_template_directory_uri()."/js/jquery.fluidbox.min.js", array(), "2.0.0", true);
        wp_enqueue_script("iniciarfluidbox", get_template_directory_uri()."/js/iniciar-fluidbox.js", array(), "1.0.0", true);
    }
    add_action("wp_enqueue_scripts", "cargar_fluidbox");
?></code></pre>



<p class="wp-block-paragraph">Y eso es todo. Ahora tus galerías deberían disfrutar del efecto Fluidbox.</p>



<p class="wp-block-paragraph">Si no te funciona, revisa que todos los nombres de archivos estén 
correctos y en las rutas especificadas anteriormente. Además comprueba 
que las imágenes de la galería apunten a <strong>Archivo multimedia</strong>, de lo contrario es posible que no funcionen.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://danisanchez.net/integrar-fluidbox-en-tus-galerias-de-wordpress/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Crear un sistema de reservas on-line para WordPress</title>
		<link>https://danisanchez.net/crear-un-sistema-de-reservas-on-line-para-wordpress/</link>
					<comments>https://danisanchez.net/crear-un-sistema-de-reservas-on-line-para-wordpress/#comments</comments>
		
		<dc:creator><![CDATA[dani.sanchez]]></dc:creator>
		<pubDate>Wed, 19 Jul 2017 12:09:25 +0000</pubDate>
				<category><![CDATA[Actualidad]]></category>
		<category><![CDATA[Publicaciones]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[formularios]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[publicaciones]]></category>
		<category><![CDATA[tutoriales]]></category>
		<category><![CDATA[wordpress]]></category>
		<guid isPermaLink="false">http://www.gestionatuweb.net/?p=2843</guid>

					<description><![CDATA[Si tienes que desarrollar una web donde los clientes puedan solicitar una reserva en un día o período de tiempo determinado, necesitas implementar un sistema de reservas. En este artículo veremos un plugin sencillo que te hará la vida más fácil. Se llama Booking Calendar del desarrollador WpDevArt. Una vez instalado se nos añadirá un [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><iframe loading="lazy" width="560" height="315" src="https://www.youtube.com/embed/KV1HLWY11YI" frameborder="0" allowfullscreen="allowfullscreen"></iframe></p>



<p class="wp-block-paragraph">Si tienes que desarrollar una web donde los clientes puedan solicitar una reserva en un día o período de tiempo determinado, necesitas implementar un sistema de reservas. En este artículo veremos un plugin sencillo que te hará la vida más fácil.</p>



<p class="wp-block-paragraph">Se llama <a href="https://es.wordpress.org/plugins/booking-calendar/" target="_blank" rel="noopener noreferrer">Booking Calendar</a> del desarrollador <a href="http://wpdevart.com/" target="_blank" rel="noopener noreferrer">WpDevArt</a>.</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><a href="https://danisanchez.net/wp-content/uploads/2017/07/001-2-1.jpg"><img loading="lazy" decoding="async" width="756" height="250" src="https://danisanchez.net/wp-content/uploads/2017/07/001-2.jpg" alt="" class="wp-image-2844" srcset="https://danisanchez.net/wp-content/uploads/2017/07/001-2.jpg 756w, https://danisanchez.net/wp-content/uploads/2017/07/001-2-300x99.jpg 300w" sizes="auto, (max-width: 756px) 100vw, 756px" /></a></figure></div>



<p class="wp-block-paragraph">Una vez instalado se nos añadirá un nuevo menú al menú principal de WordPress, Booking Calendar con algunos apartados.</p>



<p class="wp-block-paragraph">Booking Calendar tiene una versión FREE suficiente para implementar sistemas básicos de reservas, y una versión PREMIUM con algunas funcionalidades más, como la posibilidad de editar el diseño, editar reservas a mano o implementar sistemas de pago on-line. La licencia para un sitio cuesta a día de hoy (17-07-2017) unos 60$, por si os interesa para vuestra web o tenéis que presupuestar el trabajo a un cliente.</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><a href="https://danisanchez.net/wp-content/uploads/2017/07/002-2-1.jpg" target="_blank" rel="noopener noreferrer"><img loading="lazy" decoding="async" width="1221" height="701" src="https://danisanchez.net/wp-content/uploads/2017/07/002-2.jpg" alt="" class="wp-image-2845" srcset="https://danisanchez.net/wp-content/uploads/2017/07/002-2.jpg 1221w, https://danisanchez.net/wp-content/uploads/2017/07/002-2-300x172.jpg 300w, https://danisanchez.net/wp-content/uploads/2017/07/002-2-1024x588.jpg 1024w, https://danisanchez.net/wp-content/uploads/2017/07/002-2-768x441.jpg 768w" sizes="auto, (max-width: 1221px) 100vw, 1221px" /></a></figure></div>



<p class="wp-block-paragraph">El procedimiento es muy sencillo, desde la pantalla principal de Booking Calendar podemos crear nuestros calendarios. Por defecto ya tenemos uno de ejemplo con un shortcode que es lo que tenemos que pegar en la página donde queremos que aparezca el calendario.</p>



<h2 class="wp-block-heading">Añadir un nuevo calendario.</h2>



<p class="wp-block-paragraph">Vamos a añadir un nuevo calendario haciendo clic en <strong>Add Calendar</strong>. Vamos a imaginar que estamos desarrollando la web para un Hotel u Hostal y queremos agregar un Calendario de Reservas en la página de habitaciones dobles.</p>



<p class="wp-block-paragraph">Le damos un título al calendario, seleccionamos el tema (al ser versión FREE solo nos va a dejar usar el tema por defecto), seleccionamos si queremos mostrar &nbsp;o no un formulario de solicitud de reserva (por defecto a parece el formulario de ejemplo que integra el plugin), y si queremos seleccionar algún extra que podemos configurar más adelante.</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><a href="https://danisanchez.net/wp-content/uploads/2017/07/003-2-1.jpg" target="_blank" rel="noopener noreferrer"><img loading="lazy" decoding="async" width="639" height="316" src="https://danisanchez.net/wp-content/uploads/2017/07/003-2.jpg" alt="" class="wp-image-2846" srcset="https://danisanchez.net/wp-content/uploads/2017/07/003-2.jpg 639w, https://danisanchez.net/wp-content/uploads/2017/07/003-2-300x148.jpg 300w" sizes="auto, (max-width: 639px) 100vw, 639px" /></a></figure></div>



<p class="wp-block-paragraph">Si interactuamos con el calendario, seleccionando por ejemplo un día o un rango de días, aparecerán unas opciones a la derecha:</p>



<figure class="wp-block-image"><a href="https://danisanchez.net/wp-content/uploads/2017/07/004-2-1.jpg" target="_blank" rel="noopener noreferrer"><img decoding="async" src="https://danisanchez.net/wp-content/uploads/2017/07/004-2-1.jpg" alt="" class="wp-image-2847"/></a></figure>



<h3 class="wp-block-heading"><strong>Set days availability</strong></h3>



<p class="wp-block-paragraph">Desde aquí podemos habilitar o deshabilitar fechas en función de si queremos que estén disponibles para reservar, o indicar que ya están reservas o simplemente indicar que no están disponibles.</p>



<ul class="wp-block-list"><li><strong>Start date y End Date</strong> nos marca las fechas que tenemos seleccionadas en el calendario.</li><li><strong>Number Available:</strong> Podemos indicar cuántas reservas se pueden realizar para los días señalados. (Por ejemplo, podemos tener cinco habitaciones dobles en el hotel y no tenemos que crear un calendario para cada una de ellas, solo indicar cuántas hay disponibles).</li><li><strong>Price:</strong> Aparecerá el precio para día del calendario.</li><li>Las demás opciones se habilitan actualizando a la versión PRO, que no veremos en esta guía.</li></ul>



<p class="wp-block-paragraph">Para nuestro ejemplo, vamos a indicar que los días señalados están disponibles para reservar y que el coste es de 30,00€ cada uno, quedando el calendario así:</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><a href="https://danisanchez.net/wp-content/uploads/2017/07/005-1-2.jpg" target="_blank" rel="noopener noreferrer"><img loading="lazy" decoding="async" width="628" height="502" src="https://danisanchez.net/wp-content/uploads/2017/07/005-1-1.jpg" alt="" class="wp-image-2848" srcset="https://danisanchez.net/wp-content/uploads/2017/07/005-1-1.jpg 628w, https://danisanchez.net/wp-content/uploads/2017/07/005-1-1-300x240.jpg 300w" sizes="auto, (max-width: 628px) 100vw, 628px" /></a></figure></div>



<p class="wp-block-paragraph">No olvidéis salvar los cambios si abandonáis esta página.</p>



<p class="wp-block-paragraph">Si queremos hacer alguna modificación en los días editados, como por ejemplo, aumentar el precio de la habitación en fin de semana, o marcar que un día está ocupado porque nos ha entrado un huésped, solo tenemos que marcar el día a modificar y aparecerán de nuevo las opciones para editarlo.</p>



<p class="wp-block-paragraph">Por ejemplo, marcamos que el día 27 está reservado, y que el precio de las habitaciones en fin de semana es de 40,00€:</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><a href="https://danisanchez.net/wp-content/uploads/2017/07/006-1.jpg" target="_blank" rel="noopener noreferrer"><img loading="lazy" decoding="async" width="1294" height="652" src="https://danisanchez.net/wp-content/uploads/2017/07/006.jpg" alt="" class="wp-image-2849" srcset="https://danisanchez.net/wp-content/uploads/2017/07/006.jpg 1294w, https://danisanchez.net/wp-content/uploads/2017/07/006-300x151.jpg 300w, https://danisanchez.net/wp-content/uploads/2017/07/006-1024x516.jpg 1024w, https://danisanchez.net/wp-content/uploads/2017/07/006-768x387.jpg 768w" sizes="auto, (max-width: 1294px) 100vw, 1294px" /></a></figure></div>



<div class="wp-block-image"><figure class="aligncenter size-full"><a href="https://danisanchez.net/wp-content/uploads/2017/07/007-1.jpg" target="_blank" rel="noopener noreferrer"><img loading="lazy" decoding="async" width="1272" height="644" src="https://danisanchez.net/wp-content/uploads/2017/07/007.jpg" alt="" class="wp-image-2850" srcset="https://danisanchez.net/wp-content/uploads/2017/07/007.jpg 1272w, https://danisanchez.net/wp-content/uploads/2017/07/007-300x152.jpg 300w, https://danisanchez.net/wp-content/uploads/2017/07/007-1024x518.jpg 1024w, https://danisanchez.net/wp-content/uploads/2017/07/007-768x389.jpg 768w" sizes="auto, (max-width: 1272px) 100vw, 1272px" /></a></figure></div>



<p class="wp-block-paragraph">Nuestro calendario quedará así:</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><a href="https://danisanchez.net/wp-content/uploads/2017/07/008-1-2.jpg" target="_blank" rel="noopener noreferrer"><img loading="lazy" decoding="async" width="646" height="514" src="https://danisanchez.net/wp-content/uploads/2017/07/008-1-1.jpg" alt="" class="wp-image-2851" srcset="https://danisanchez.net/wp-content/uploads/2017/07/008-1-1.jpg 646w, https://danisanchez.net/wp-content/uploads/2017/07/008-1-1-300x239.jpg 300w" sizes="auto, (max-width: 646px) 100vw, 646px" /></a></figure></div>



<h2 class="wp-block-heading">Apartado Forms</h2>



<p class="wp-block-paragraph">Bien, vamos a pasar a otro apartado dentro de Booking Calendar,&nbsp;&nbsp;<strong>Forms.</strong></p>



<div class="wp-block-image"><figure class="aligncenter size-full"><a href="https://danisanchez.net/wp-content/uploads/2017/07/009-1.jpg" target="_blank" rel="noopener noreferrer"><img loading="lazy" decoding="async" width="1098" height="286" src="https://danisanchez.net/wp-content/uploads/2017/07/009.jpg" alt="" class="wp-image-2852" srcset="https://danisanchez.net/wp-content/uploads/2017/07/009.jpg 1098w, https://danisanchez.net/wp-content/uploads/2017/07/009-300x78.jpg 300w, https://danisanchez.net/wp-content/uploads/2017/07/009-1024x267.jpg 1024w, https://danisanchez.net/wp-content/uploads/2017/07/009-768x200.jpg 768w" sizes="auto, (max-width: 1098px) 100vw, 1098px" /></a></figure></div>



<p class="wp-block-paragraph">Aquí podemos configurar que nuestros calendarios incluyan un formulario de solicitud de reservas para que el cliente pueda marcar las fechas que desea reservar y que sus datos de contacto sean guardados en la solicitud.</p>



<p class="wp-block-paragraph">Podemos añadir un nuevo formulario o editar el existente:</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><a href="https://danisanchez.net/wp-content/uploads/2017/07/010-1.jpg" target="_blank" rel="noopener noreferrer"><img loading="lazy" decoding="async" width="635" height="621" src="https://danisanchez.net/wp-content/uploads/2017/07/010.jpg" alt="" class="wp-image-2853" srcset="https://danisanchez.net/wp-content/uploads/2017/07/010.jpg 635w, https://danisanchez.net/wp-content/uploads/2017/07/010-300x293.jpg 300w" sizes="auto, (max-width: 635px) 100vw, 635px" /></a></figure></div>



<p class="wp-block-paragraph">Los campos por defecto son: nombre, apellido, e-mail, teléfono y mensaje. Podemos expandir las opciones de cada campo dando a la flechita, como por ejemplo cambiar la etiqueta de cada campo por una en español, así como indicar si el campo es obligatorio o no rellenarlo. Si necesitamos crear algún campo más podemos hacer clic en el icono&nbsp;<a href="https://danisanchez.net/wp-content/uploads/2017/07/011-1.jpg"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-2854" src="https://danisanchez.net/wp-content/uploads/2017/07/011-1.jpg" alt="" width="35" height="33"></a>&nbsp;y añadir el tipo de campo que deseemos. Así quedaría el formulario con las etiquetas de los campos cambiadas:</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><a href="https://danisanchez.net/wp-content/uploads/2017/07/012-1.jpg" target="_blank" rel="noopener noreferrer"><img loading="lazy" decoding="async" width="632" height="466" src="https://danisanchez.net/wp-content/uploads/2017/07/012.jpg" alt="" class="wp-image-2855" srcset="https://danisanchez.net/wp-content/uploads/2017/07/012.jpg 632w, https://danisanchez.net/wp-content/uploads/2017/07/012-300x221.jpg 300w" sizes="auto, (max-width: 632px) 100vw, 632px" /></a></figure></div>



<p class="wp-block-paragraph">Otro apartado muy interesante son los <strong>Extras,&nbsp;</strong>donde podemos configurar servicios adicionales que pueden repercutir en el coste final de la habitación, por ejemplo, un cargo por niño o adulto adicional, por un suplemento de cuna, por conexión WIFI, etc.</p>



<p class="wp-block-paragraph">Para configurarlo nos dirigimos al apartado <strong>Extras:</strong></p>



<div class="wp-block-image"><figure class="aligncenter size-full"><a href="https://danisanchez.net/wp-content/uploads/2017/07/013-1.jpg" target="_blank" rel="noopener noreferrer"><img loading="lazy" decoding="async" width="750" height="292" src="https://danisanchez.net/wp-content/uploads/2017/07/013.jpg" alt="" class="wp-image-2856" srcset="https://danisanchez.net/wp-content/uploads/2017/07/013.jpg 750w, https://danisanchez.net/wp-content/uploads/2017/07/013-300x117.jpg 300w" sizes="auto, (max-width: 750px) 100vw, 750px" /></a></figure></div>



<p class="wp-block-paragraph">Por defecto tenemos configurados los extras: Adultos y Niños.</p>



<p class="wp-block-paragraph">Si desplegamos el extra Adultos, podemos configurar hasta cuántos adultos adicionales permitiría la habitación y el sobrecoste que ocasionaría:</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><a href="https://danisanchez.net/wp-content/uploads/2017/07/014-1.jpg" target="_blank" rel="noopener noreferrer"><img loading="lazy" decoding="async" width="746" height="515" src="https://danisanchez.net/wp-content/uploads/2017/07/014.jpg" alt="" class="wp-image-2857" srcset="https://danisanchez.net/wp-content/uploads/2017/07/014.jpg 746w, https://danisanchez.net/wp-content/uploads/2017/07/014-300x207.jpg 300w" sizes="auto, (max-width: 746px) 100vw, 746px" /></a></figure></div>



<p class="wp-block-paragraph">Si no nos interesa añadir tantos, podemos eliminar campos hasta adaptarlo a nuestras necesidades. Lo mismo podemos hacer con la opción de niños.</p>



<p class="wp-block-paragraph">Aunque si no vamos a permitir alojar a más visitantes de los establecidos en la habitación, podemos eliminar ambos extras y crear uno propio, como por ejemplo, una cuna opcional en caso de que se hospeden una pareja con un bebé.</p>



<p class="wp-block-paragraph">Añadimos un nuevo extra haciendo clic en el icono&nbsp;<a href="https://danisanchez.net/wp-content/uploads/2017/07/011-1.jpg"><img loading="lazy" decoding="async" class="alignnone size-full wp-image-2854" src="https://danisanchez.net/wp-content/uploads/2017/07/011-1.jpg" alt="" width="35" height="33"></a>y lo llamamos, por ejemplo, cuna opcional:</p>



<figure class="wp-block-image size-full"><a href="https://danisanchez.net/wp-content/uploads/2017/07/015-1.jpg" target="_blank" rel="noopener noreferrer"><img loading="lazy" decoding="async" width="756" height="486" src="https://danisanchez.net/wp-content/uploads/2017/07/015.jpg" alt="" class="wp-image-2858" srcset="https://danisanchez.net/wp-content/uploads/2017/07/015.jpg 756w, https://danisanchez.net/wp-content/uploads/2017/07/015-300x193.jpg 300w" sizes="auto, (max-width: 756px) 100vw, 756px" /></a></figure>



<p class="wp-block-paragraph">Indicamos que si se añade una cuna a la habitación, el precio de esta se incrementará en 10,00€, todo esto configurado conforme a nuestras necesidades.</p>



<h2 class="wp-block-heading">Temas</h2>



<p class="wp-block-paragraph">En el apartado <strong>Themes, </strong>donde<strong>&nbsp;</strong>podemos personalizar algunos ajustes de nuestros calendarios:</p>



<figure class="wp-block-image size-full"><a href="https://danisanchez.net/wp-content/uploads/2017/07/016-1.jpg" target="_blank" rel="noopener noreferrer"><img loading="lazy" decoding="async" width="1098" height="278" src="https://danisanchez.net/wp-content/uploads/2017/07/016.jpg" alt="" class="wp-image-2860" srcset="https://danisanchez.net/wp-content/uploads/2017/07/016.jpg 1098w, https://danisanchez.net/wp-content/uploads/2017/07/016-300x76.jpg 300w, https://danisanchez.net/wp-content/uploads/2017/07/016-1024x259.jpg 1024w, https://danisanchez.net/wp-content/uploads/2017/07/016-768x194.jpg 768w" sizes="auto, (max-width: 1098px) 100vw, 1098px" /></a></figure>



<p class="wp-block-paragraph">Hacemos clic en editar el tema. Los ajustes se dividen en varios apartados que veremos a continuación:</p>



<h3 class="wp-block-heading">Ajuste General</h3>



<figure class="wp-block-image size-full"><a href="https://danisanchez.net/wp-content/uploads/2017/07/017-1.jpg"><img loading="lazy" decoding="async" width="964" height="614" src="https://danisanchez.net/wp-content/uploads/2017/07/017.jpg" alt="" class="wp-image-2903" srcset="https://danisanchez.net/wp-content/uploads/2017/07/017.jpg 964w, https://danisanchez.net/wp-content/uploads/2017/07/017-300x191.jpg 300w, https://danisanchez.net/wp-content/uploads/2017/07/017-768x489.jpg 768w" sizes="auto, (max-width: 964px) 100vw, 964px" /></a></figure>



<p class="wp-block-paragraph">Algunas opciones solo están disponibles si contamos con la versión Pro del plugin. Pero para la versión FREE, entre otras opciones podemos ajustar el formado de fecha que aparecerá en los calendarios, el formato de los días de la semana (completo o abreviado), seleccionar el día en el que comienza la semana (en algunos países la semana comienza en Domingo).</p>



<p class="wp-block-paragraph">Otra opción interesante es poder <strong>deshabilitar días fijos en la semana</strong>. Por ejemplo, si nuestro establecimiento cierra los Domingos, podemos hacer que todos los domingos se establezcan por defecto en «No disponible».</p>



<p class="wp-block-paragraph"><strong>Seleccionar múltiples días o un único día</strong>. Si el propósito del calendario de reservas es para alojamiento (hoteles, casas rurales, hostales&#8230;), es conveniente permitir al usuario poder seleccionar un rango de días, tantos como días quiera hospedarse. Pero si nuestro establecimiento es una peluquería, lo que nos interesa es que el cliente solo escoja un día en concreto.</p>



<figure class="wp-block-image size-full"><a href="https://danisanchez.net/wp-content/uploads/2017/07/018-1.jpg"><img loading="lazy" decoding="async" width="921" height="369" src="https://danisanchez.net/wp-content/uploads/2017/07/018.jpg" alt="" class="wp-image-2904" srcset="https://danisanchez.net/wp-content/uploads/2017/07/018.jpg 921w, https://danisanchez.net/wp-content/uploads/2017/07/018-300x120.jpg 300w, https://danisanchez.net/wp-content/uploads/2017/07/018-768x308.jpg 768w" sizes="auto, (max-width: 921px) 100vw, 921px" /></a></figure>



<p class="wp-block-paragraph">Establecemos el nombre que queramos darle a los <strong>3 estados posibles</strong> dentro del calendario: disponible, reservado y no disponible.</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><a href="https://danisanchez.net/wp-content/uploads/2017/07/019-1.jpg"><img loading="lazy" decoding="async" width="710" height="277" src="https://danisanchez.net/wp-content/uploads/2017/07/019.jpg" alt="" class="wp-image-2905" srcset="https://danisanchez.net/wp-content/uploads/2017/07/019.jpg 710w, https://danisanchez.net/wp-content/uploads/2017/07/019-300x117.jpg 300w" sizes="auto, (max-width: 710px) 100vw, 710px" /></a></figure></div>



<p class="wp-block-paragraph">Entre otros ajustes generales, podemos especificar el tipo de moneda con el que trabajaremos:</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><a href="https://danisanchez.net/wp-content/uploads/2017/07/020-1.jpg"><img loading="lazy" decoding="async" width="718" height="147" src="https://danisanchez.net/wp-content/uploads/2017/07/020.jpg" alt="" class="wp-image-2906" srcset="https://danisanchez.net/wp-content/uploads/2017/07/020.jpg 718w, https://danisanchez.net/wp-content/uploads/2017/07/020-300x61.jpg 300w" sizes="auto, (max-width: 718px) 100vw, 718px" /></a></figure></div>



<h2 class="wp-block-heading">Notificaciones</h2>



<p class="wp-block-paragraph">En este apartado podremos configurar las notificaciones que serán enviadas por correo electrónico, tanto al administrador del sitio web, como al usuario que está realizando la reserva. Para ello es importante habilitar la opción <strong>PHPMailer</strong> en caso de que no tengamos configurado un sistema de envío de correo alternativo dentro de nuestro sitio web.</p>



<p class="wp-block-paragraph">Las notificaciones podrían clasificarse:</p>



<p class="wp-block-paragraph"><strong>&#8211; Notificaciones al administrador:</strong></p>



<ul class="wp-block-list"><li>Mensaje de solicitud de reserva recibida.</li><li>Mensaje de solicitud de reserva aprobada.</li></ul>



<p class="wp-block-paragraph"><strong>&#8211; Notificaciones al usuario:</strong></p>



<ul class="wp-block-list"><li>Mensaje de solicitud de reserva recibida.</li><li>Mensaje de solicitud de reserva aprobada.</li><li>Mensaje de solicitud de reserva cancelada.</li></ul>



<p class="wp-block-paragraph">Por ejemplo, si queremos crear una notificación cada vez que un usuario envíe una solicitud de reserva podemos configurarla así de fácil (<strong>importante que Notify on book request esté activado</strong>):</p>



<figure class="wp-block-image size-full"><a href="https://danisanchez.net/wp-content/uploads/2017/07/021-1-2.jpg"><img loading="lazy" decoding="async" width="744" height="506" src="https://danisanchez.net/wp-content/uploads/2017/07/021-1-1.jpg" alt="" class="wp-image-2908" srcset="https://danisanchez.net/wp-content/uploads/2017/07/021-1-1.jpg 744w, https://danisanchez.net/wp-content/uploads/2017/07/021-1-1-300x204.jpg 300w" sizes="auto, (max-width: 744px) 100vw, 744px" /></a></figure>



<p class="wp-block-paragraph">O si queremos enviar una notificación para informar de que hemos aprobado su solicitud de reserva:&nbsp;<strong>(importante que Notify when reservation is approved esté activada):</strong></p>



<figure class="wp-block-image size-full"><a href="https://danisanchez.net/wp-content/uploads/2017/07/022-1.jpg"><img loading="lazy" decoding="async" width="712" height="493" src="https://danisanchez.net/wp-content/uploads/2017/07/022.jpg" alt="" class="wp-image-2909" srcset="https://danisanchez.net/wp-content/uploads/2017/07/022.jpg 712w, https://danisanchez.net/wp-content/uploads/2017/07/022-300x208.jpg 300w" sizes="auto, (max-width: 712px) 100vw, 712px" /></a></figure>



<h2 class="wp-block-heading">Textos por defecto</h2>



<p class="wp-block-paragraph">En este apartado podemos cambiar alguno de los textos por defecto del plugin para adaptarlos a nuestro idioma y necesidades. También nos da a elegir usar directamente el archivo de traducción .mo en caso de estar disponible (si no sabéis traducir archivos .mo, aconsejo modificar los textos directamente en este apartado).</p>



<div class="wp-block-image"><figure class="aligncenter"><a href="https://danisanchez.net/wp-content/uploads/2017/07/023-1.jpg"><img decoding="async" src="https://danisanchez.net/wp-content/uploads/2017/07/023-1.jpg" alt="" class="wp-image-2910"/></a></figure></div>



<h2 class="wp-block-heading">Terminando nuestro sistema de reservas.</h2>



<p class="wp-block-paragraph">Para insertar el calendario en una página de nuestro sitio web, primero nos dirigimos al listado de calendarios que tenemos creados y copiamos su Shortcode:</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><a href="https://danisanchez.net/wp-content/uploads/2017/07/024-1.jpg"><img loading="lazy" decoding="async" width="1166" height="381" src="https://danisanchez.net/wp-content/uploads/2017/07/024.jpg" alt="" class="wp-image-2911" srcset="https://danisanchez.net/wp-content/uploads/2017/07/024.jpg 1166w, https://danisanchez.net/wp-content/uploads/2017/07/024-300x98.jpg 300w, https://danisanchez.net/wp-content/uploads/2017/07/024-1024x335.jpg 1024w, https://danisanchez.net/wp-content/uploads/2017/07/024-768x251.jpg 768w" sizes="auto, (max-width: 1166px) 100vw, 1166px" /></a></figure></div>



<p class="wp-block-paragraph">Nos dirigimos a la página donde queremos insertarlo y lo pegamos:</p>



<figure class="wp-block-image size-full"><a href="https://danisanchez.net/wp-content/uploads/2017/07/025-1.jpg"><img loading="lazy" decoding="async" width="1314" height="653" src="https://danisanchez.net/wp-content/uploads/2017/07/025.jpg" alt="" class="wp-image-2912" srcset="https://danisanchez.net/wp-content/uploads/2017/07/025.jpg 1314w, https://danisanchez.net/wp-content/uploads/2017/07/025-300x149.jpg 300w, https://danisanchez.net/wp-content/uploads/2017/07/025-1024x509.jpg 1024w, https://danisanchez.net/wp-content/uploads/2017/07/025-768x382.jpg 768w" sizes="auto, (max-width: 1314px) 100vw, 1314px" /></a></figure>



<p class="wp-block-paragraph">Y aquí tenemos el resultado:</p>



<figure class="wp-block-image size-full"><a href="https://danisanchez.net/wp-content/uploads/2017/07/026-1.jpg"><img loading="lazy" decoding="async" width="1263" height="863" src="https://danisanchez.net/wp-content/uploads/2017/07/026.jpg" alt="" class="wp-image-2913" srcset="https://danisanchez.net/wp-content/uploads/2017/07/026.jpg 1263w, https://danisanchez.net/wp-content/uploads/2017/07/026-300x205.jpg 300w, https://danisanchez.net/wp-content/uploads/2017/07/026-1024x700.jpg 1024w, https://danisanchez.net/wp-content/uploads/2017/07/026-768x525.jpg 768w" sizes="auto, (max-width: 1263px) 100vw, 1263px" /></a></figure>



<p class="wp-block-paragraph">Ahora si un usuario desea reservar por ejemplo el fin de semana del 29-30 de Julio, solo tiene que seleccionar los días en el calendario y rellenar el formulario con sus datos:</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><a href="https://danisanchez.net/wp-content/uploads/2017/07/027-1.jpg"><img loading="lazy" decoding="async" width="704" height="816" src="https://danisanchez.net/wp-content/uploads/2017/07/027.jpg" alt="" class="wp-image-2914" srcset="https://danisanchez.net/wp-content/uploads/2017/07/027.jpg 704w, https://danisanchez.net/wp-content/uploads/2017/07/027-259x300.jpg 259w" sizes="auto, (max-width: 704px) 100vw, 704px" /></a></figure></div>



<p class="wp-block-paragraph">En el momento que pulse en <strong>Reservar ahora</strong>, si hemos activado las notificaciones, se enviará un aviso al administrador para que compruebe el panel de control de reservas y decida si aprueba o cancela la solicitud. Así mismo también se enviará una notificación al usuario si la hemos configurado previamente.</p>



<p class="wp-block-paragraph">Vamos al apartado <strong>Reservations</strong> dentro de Booking Calendar y veremos que tenemos una nueva solicitud para el calendario de Habitación doble:</p>



<figure class="wp-block-image size-full"><a href="https://danisanchez.net/wp-content/uploads/2017/07/028-1.jpg"><img loading="lazy" decoding="async" width="1085" height="350" src="https://danisanchez.net/wp-content/uploads/2017/07/028.jpg" alt="" class="wp-image-2915" srcset="https://danisanchez.net/wp-content/uploads/2017/07/028.jpg 1085w, https://danisanchez.net/wp-content/uploads/2017/07/028-300x97.jpg 300w, https://danisanchez.net/wp-content/uploads/2017/07/028-1024x330.jpg 1024w, https://danisanchez.net/wp-content/uploads/2017/07/028-768x248.jpg 768w" sizes="auto, (max-width: 1085px) 100vw, 1085px" /></a></figure>



<p class="wp-block-paragraph">Para ver los detalles de la reserva seleccionamos el calendario <strong>Habitación doble</strong> y expandimos la pestaña de <strong>Details</strong> dentro de Reservation information:</p>



<figure class="wp-block-image size-full"><a href="https://danisanchez.net/wp-content/uploads/2017/07/029-1.jpg"><img loading="lazy" decoding="async" width="1549" height="717" src="https://danisanchez.net/wp-content/uploads/2017/07/029.jpg" alt="" class="wp-image-2916" srcset="https://danisanchez.net/wp-content/uploads/2017/07/029.jpg 1549w, https://danisanchez.net/wp-content/uploads/2017/07/029-300x139.jpg 300w, https://danisanchez.net/wp-content/uploads/2017/07/029-1024x474.jpg 1024w, https://danisanchez.net/wp-content/uploads/2017/07/029-768x355.jpg 768w, https://danisanchez.net/wp-content/uploads/2017/07/029-1536x711.jpg 1536w" sizes="auto, (max-width: 1549px) 100vw, 1549px" /></a></figure>



<p class="wp-block-paragraph">Desde aquí podemos aprobar o rechazar la solicitud.</p>



<p class="wp-block-paragraph">Si todo es correcto le datos a <strong>Approve y&nbsp;</strong>en ese momento, si hemos configurado las notificaciones, se enviará un e-mail al cliente confirmando su solicitud y automáticamente los días reservados se reflejarán en el calendario en rojo:</p>



<div class="wp-block-image"><figure class="aligncenter size-full"><a href="https://danisanchez.net/wp-content/uploads/2017/07/030-1.jpg"><img loading="lazy" decoding="async" width="698" height="567" src="https://danisanchez.net/wp-content/uploads/2017/07/030.jpg" alt="" class="wp-image-2917" srcset="https://danisanchez.net/wp-content/uploads/2017/07/030.jpg 698w, https://danisanchez.net/wp-content/uploads/2017/07/030-300x244.jpg 300w" sizes="auto, (max-width: 698px) 100vw, 698px" /></a></figure></div>



<p class="wp-block-paragraph">Como nota final, decir que hay algunos aspectos que no se han podido configurar desde las opciones del plugin, como por ejemplo, el nombre de los meses del año o los días de la semana que siguen apareciendo en inglés (o yo no he dado con la opción).</p>



<p class="wp-block-paragraph">Para cambiar esto, os aconsejo editar directamente el archivo de traducción del plugin. Podéis echar un vistazo a un artículo que escribí hace tiempo sobre <strong><a href="https://danisanchez.net/traduce-tus-plugins-de-wordpress-de-forma-sencilla-con-loco-translate/">Loco Translate</a></strong>, que permite traducir fácilmente plugins y temas de WordPress.</p>



<p class="wp-block-paragraph">Espero que os haya resultado interesante y si os ha gustado lo compartáis y dejéis vuestros comentarios.</p>



<p class="wp-block-paragraph">¡Un&nbsp;saludo!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://danisanchez.net/crear-un-sistema-de-reservas-on-line-para-wordpress/feed/</wfw:commentRss>
			<slash:comments>8</slash:comments>
		
		
			</item>
	</channel>
</rss>
