<?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>páginas web &#8211; danisanchez.net</title>
	<atom:link href="https://danisanchez.net/tag/paginas-web/feed/" rel="self" type="application/rss+xml" />
	<link>https://danisanchez.net</link>
	<description></description>
	<lastBuildDate>Wed, 14 Mar 2018 21:07:22 +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>páginas web &#8211; danisanchez.net</title>
	<link>https://danisanchez.net</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Hacer una web para escritores / librerías con Author Pro + Génesis Framework</title>
		<link>https://danisanchez.net/hacer-una-web-para-escritores-librerias-con-author-pro-genesis-framework/</link>
					<comments>https://danisanchez.net/hacer-una-web-para-escritores-librerias-con-author-pro-genesis-framework/#comments</comments>
		
		<dc:creator><![CDATA[dani.sanchez]]></dc:creator>
		<pubDate>Wed, 14 Mar 2018 21:07:22 +0000</pubDate>
				<category><![CDATA[Publicaciones]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[author pro]]></category>
		<category><![CDATA[desarrollo web]]></category>
		<category><![CDATA[páginas web]]></category>
		<category><![CDATA[publicaciones]]></category>
		<category><![CDATA[tutoriales]]></category>
		<category><![CDATA[wordpress]]></category>
		<guid isPermaLink="false">https://www.gestionatuweb.net/?p=3902</guid>

					<description><![CDATA[En esta ocasión volvemos de nuevo con una plantilla de la afamada desarrolladora StudioPress, creadora del tema Framework Genesis, muy utilizado en grandes blogs y proyectos web debido a su ligereza, funcionalidades y optimización para SEO, así como de otras plantillas como AgentPress Pro de la que tenemos un curso en Gestionatuweb. Author Pro, es [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">En esta ocasión volvemos de nuevo con una plantilla de la afamada desarrolladora <em>StudioPress</em>, creadora del tema Framework Genesis, muy utilizado en grandes blogs y proyectos web debido a su ligereza, funcionalidades y optimización para SEO, así como de otras plantillas como <strong>AgentPress Pro</strong> de la que tenemos un <a href="https://danisanchez.net/guia-agentpress-pro/" target="_blank" rel="noreferrer noopener">curso</a> en Gestionatuweb.</p>



<p class="wp-block-paragraph"><strong>Author Pro</strong>, es una plantilla hija (o child theme) de Genesis Framework, inspirada y optimizada para autores o escritores que deseen difundir y vender sus obras en Internet, así como para pequeñas y medianas librerías, ya que adicionalmente al tema, se puede descargar un plugin que actúa como una completa base de datos de libros y autores.</p>



<figure class="wp-block-image size-full"><img fetchpriority="high" decoding="async" width="1000" height="466" src="https://danisanchez.net/wp-content/uploads/2018/03/captura-01-e1521054626535.jpeg" alt="" class="wp-image-3903" srcset="https://danisanchez.net/wp-content/uploads/2018/03/captura-01-e1521054626535.jpeg 1000w, https://danisanchez.net/wp-content/uploads/2018/03/captura-01-e1521054626535-300x140.jpeg 300w, https://danisanchez.net/wp-content/uploads/2018/03/captura-01-e1521054626535-768x358.jpeg 768w" sizes="(max-width: 1000px) 100vw, 1000px" /></figure>



<p class="wp-block-paragraph">En esta vídeo-guía te enseñaré a configurar la plantilla para que se vea muy similar al ejemplo que propone la <a href="https://demo.studiopress.com/author/?_ga=2.78417300.1282734238.1520837696-1624196811.1519713888" target="_blank" rel="noreferrer noopener">demo</a> de StudioPress, ya que una vez instalada de primeras aparece todo vacío y desconfigurado y muchos se pueden perder o verse confusos en su configuración.</p>



<figure class="wp-block-image size-full"><img decoding="async" width="1000" height="452" src="https://danisanchez.net/wp-content/uploads/2018/03/captura-02-e1521055043665.jpeg" alt="" class="wp-image-3904" srcset="https://danisanchez.net/wp-content/uploads/2018/03/captura-02-e1521055043665.jpeg 1000w, https://danisanchez.net/wp-content/uploads/2018/03/captura-02-e1521055043665-300x136.jpeg 300w, https://danisanchez.net/wp-content/uploads/2018/03/captura-02-e1521055043665-768x347.jpeg 768w" sizes="(max-width: 1000px) 100vw, 1000px" /></figure>



<p class="wp-block-paragraph">Si quieres colaborar con mi blog, puedes adquirir la plantilla <strong>Author Pro + Genesis Framework</strong> desde mi enlace de afiliado. No te costará ni un céntimo más, pero me darán una pequeña comisión que me ayuda a seguir dedicando tiempo a crear contenidos:</p>



<ul class="wp-block-list"><li><strong>COMPRAR AUTHOR PRO + GENESIS FRAMEWORK</strong>: <a href="http://bit.ly/2M3CO38">http://bit.ly/2M3CO38</a></li></ul>



<figure class="wp-block-image size-full"><img decoding="async" width="1000" height="463" src="https://danisanchez.net/wp-content/uploads/2018/03/captura-03-e1521098515820.jpeg" alt="" class="wp-image-3909" srcset="https://danisanchez.net/wp-content/uploads/2018/03/captura-03-e1521098515820.jpeg 1000w, https://danisanchez.net/wp-content/uploads/2018/03/captura-03-e1521098515820-300x139.jpeg 300w, https://danisanchez.net/wp-content/uploads/2018/03/captura-03-e1521098515820-768x356.jpeg 768w" sizes="(max-width: 1000px) 100vw, 1000px" /></figure>



<p class="wp-block-paragraph">Aquí tienes el vídeo completo:</p>



<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="Hacer una web para escritores / librerías con Author-Pro y Genesis Framework" width="500" height="281" src="https://www.youtube.com/embed/K_BH_3Jzlhc?start=1633&#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">Sin más, espero que disfrutéis de la video-guía lo mismo que yo he disfrutado creándola, y recuerda que si tienes alguna duda, puedes dejarla en la caja de comentarios y te responderé lo antes posible.</p>



<p class="wp-block-paragraph">Hasta el próximo post!&nbsp; <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>
					
					<wfw:commentRss>https://danisanchez.net/hacer-una-web-para-escritores-librerias-con-author-pro-genesis-framework/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Permitir a un usuario colaborador subir archivos desde el Frontend (WordPress)</title>
		<link>https://danisanchez.net/permitir-usuario-colaborador-subir-archivos-desde-frontend-wordpress/</link>
					<comments>https://danisanchez.net/permitir-usuario-colaborador-subir-archivos-desde-frontend-wordpress/#comments</comments>
		
		<dc:creator><![CDATA[dani.sanchez]]></dc:creator>
		<pubDate>Tue, 16 Jan 2018 08:15:14 +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[páginas web]]></category>
		<category><![CDATA[php]]></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=3590</guid>

					<description><![CDATA[Si hemos creado un formulario externo para que usuarios colaboradores puedan enviar contenidos al sitio web sin necesidad de acceder al Dashboard, veremos que al cargar el editor de WordPress (wp_editor), no aparece el botón de Añadir Objeto para acceder a la Biblioteca de Medios: Sería muy interesante (y nos ahorraría mucho trabajo), que nuestros [&#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="Permitir a un usuario colaborador subir archivos desde el Frontend (WordPress)" width="500" height="281" src="https://www.youtube.com/embed/0rH2ES5E4OQ?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">Si hemos <a href="https://danisanchez.net/crear-entradas-desde-formulario-externo-wordpress-sin-plugins/" target="_blank" rel="noreferrer noopener">creado un formulario externo</a> para que usuarios colaboradores puedan enviar contenidos al sitio web sin necesidad de acceder al Dashboard, veremos que al cargar el editor de WordPress (wp_editor), no aparece el botón de <strong>Añadir Objeto</strong> para acceder a la Biblioteca de Medios:</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="1000" height="680" src="https://danisanchez.net/wp-content/uploads/2018/01/004-1-1.jpg" alt="" class="wp-image-3591" srcset="https://danisanchez.net/wp-content/uploads/2018/01/004-1-1.jpg 1000w, https://danisanchez.net/wp-content/uploads/2018/01/004-1-1-300x204.jpg 300w, https://danisanchez.net/wp-content/uploads/2018/01/004-1-1-768x522.jpg 768w" sizes="auto, (max-width: 1000px) 100vw, 1000px" /></figure>



<p class="wp-block-paragraph">Sería muy interesante (y nos ahorraría mucho trabajo), que nuestros usuarios colaboradores pudieran subir imágenes y contenidos para ilustrar sus contenidos, evitando tener que hacerlo nosotros a la hora de revisar la entrada.</p>



<p class="wp-block-paragraph">Para ello tendremos que darle al usuario colaborador (contributor) permisos o capacidad para añadir archivos a WordPress. Por internet he encontrado en numerosos posts el siguiente código:</p>



<pre class="wp-block-code"><code><pre class="wp-block-syntaxhighlighter-code">if ( current_user_can('contributor') &amp;&amp; !current_user_can('upload_files') )
    add_action('admin_init', 'allow_contributor_uploads');
function allow_contributor_uploads() {
    $contributor = get_role('contributor');
    $contributor-&gt;add_cap('upload_files');
}</pre></code></pre>



<p class="wp-block-paragraph"><strong>Pero este código NO FUNCIONA en versiones recientes de WordPress.&nbsp;</strong>Aparecerá el botón de Añadir Objeto, pero en el momento que intentes cargar un archivo, te dirá que no tienes permisos para añadir archivos a esta entrada.</p>



<p class="wp-block-paragraph">Y tiene que ver con la forma en la que ahora WordPress trata a los archivos de medios, dándoles las características cómo de un custom post o estilo de entrada. Para que funcione tienes que dotar al usuario colaborador de otros permisos adicionales como, editar páginas publicadas, editar otras páginas, editar entradas publicadas y editar otras entradas, además por supuesto, de subir archivos:</p>



<pre class="wp-block-code"><code><pre class="wp-block-syntaxhighlighter-code">//Permitir al colaborador subir imágenes
    function update_caps() {
 $role = get_role( 'contributor' );
 $caps_to_add = array(
 'edit_others_posts',
 'edit_published_posts',
 'edit_others_pages',
 'edit_published_pages',
 'upload_files'
 );
 foreach( $caps_to_add as $cap )
 $role-&gt;add_cap( $cap );
 }
  add_action('init', 'update_caps');</pre></code></pre>



<p class="wp-block-paragraph">Con este código si he conseguido que un usuario colaborador pueda cargar imágenes desde un formulario externo en el Frontend de WordPress.</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><strong>ACTUALIZACIÓN DESDE WORDPRESS 5.0</strong></p></blockquote>



<p class="wp-block-paragraph"><strong>En versiones recientes de WordPress (desde la 5), no he necesitado añadir permisos de <em>edit_others_posts, edit_others_pages, edit_published_posts y edit_published_pages</em>. Simplemente agregando la capacidad «upload_files», ha funcionado.</strong></p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="1000" height="680" src="https://danisanchez.net/wp-content/uploads/2018/01/005-1-1.jpg" alt="" class="wp-image-3592" srcset="https://danisanchez.net/wp-content/uploads/2018/01/005-1-1.jpg 1000w, https://danisanchez.net/wp-content/uploads/2018/01/005-1-1-300x204.jpg 300w, https://danisanchez.net/wp-content/uploads/2018/01/005-1-1-768x522.jpg 768w" sizes="auto, (max-width: 1000px) 100vw, 1000px" /></figure>



<p class="wp-block-paragraph">En el siguiente post veremos cómo hacer que un usuario colaborador <strong>solo pueda ver sus archivos</strong> en la Biblioteca de Medios.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://danisanchez.net/permitir-usuario-colaborador-subir-archivos-desde-frontend-wordpress/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Permitir el acceso a una página según el rol del usuario (WordPress)</title>
		<link>https://danisanchez.net/permitir-acceso-una-pagina-segun-rol-del-usuario-wordpress/</link>
		
		<dc:creator><![CDATA[dani.sanchez]]></dc:creator>
		<pubDate>Tue, 16 Jan 2018 07:45:11 +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[páginas web]]></category>
		<category><![CDATA[php]]></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=3586</guid>

					<description><![CDATA[En anteriores posts veíamos cómo crear un formulario externo para usuarios colaboradores sin tener que acceder al Dashboard o panel de control de WordPress. Ya que vamos a tener una página o sección exclusiva para colaboradores, lo lógico sería que sólo este tipo de rol tuviera acceso a esta página. Usaremos este pequeño script situado [&#8230;]]]></description>
										<content:encoded><![CDATA[


<p class="wp-block-paragraph">En anteriores posts veíamos cómo crear un <a href="https://danisanchez.net/crear-entradas-desde-formulario-externo-wordpress-sin-plugins/" target="_blank" rel="noreferrer noopener">formulario externo para usuarios colaboradores</a> sin tener que acceder al Dashboard o panel de control de WordPress.</p>



<p class="wp-block-paragraph">Ya que vamos a tener una página o sección exclusiva para colaboradores, lo lógico sería que sólo este tipo de rol tuviera acceso a esta página.</p>



<p class="wp-block-paragraph">Usaremos este pequeño script situado al principio de nuestra página o<em> template </em>(<a href="https://danisanchez.net/crear-entradas-desde-formulario-externo-wordpress-sin-plugins/" target="_blank" rel="noreferrer noopener">ver post cómo crear un formulario externo para colaboradores</a>) page-colaboradores.php:</p>



<pre class="wp-block-code"><code><pre class="wp-block-syntaxhighlighter-code">&lt;?php 
 $user = wp_get_current_user();
 
 if(!empty($user) &amp;&amp; !in_array("contributor", (array) $user-&gt;roles)){ ?&gt;
 &lt;script&gt;
 alert('Esta zona es solo para colaboradores. Por favor, inicia sesión para acceder.');
 location.href='http://www.mi-sitio.com/';
 &lt;/script&gt;"
&lt;?php } ?&gt;</pre></code></pre>



<p class="wp-block-paragraph">Lo primero que hacemos es recoger (wp_get_current_user) las propiedades o características del usuario en cuestión y comprobamos si este tiene asignado el rol de colaborador (contributor).</p>



<p class="wp-block-paragraph">De no ser así, redirigiremos mediante un simple script a la página principal del sitio web.</p>



<p class="wp-block-paragraph">Este script serviría igualmente para comprobar cualquier otro rol, administrador (admin), autor (author), editor (editor), suscriptor (suscriber)&#8230;solo tenemos que cambiarlo en el <em>if</em>.</p>



<p class="wp-block-paragraph">Si tenemos varias páginas exclusivas para un rol determinado, podríamos pegar este script en un archivo aparte (redigirir.php), y llamarlo al principio de cada una de las páginas o templates que solo sean accesibles a ese rol determinado:</p>



<pre class="wp-block-code"><code><pre class="wp-block-syntaxhighlighter-code">&lt;?php include('redirigir.php'); ?&gt;</pre></code></pre>
]]></content:encoded>
					
		
		
			</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>Activar la compresión web con Gzip y DEFLATE en tu hosting</title>
		<link>https://danisanchez.net/activar-la-compresion-web-con-gzip-y-deflate-en-tu-hosting/</link>
					<comments>https://danisanchez.net/activar-la-compresion-web-con-gzip-y-deflate-en-tu-hosting/#comments</comments>
		
		<dc:creator><![CDATA[dani.sanchez]]></dc:creator>
		<pubDate>Thu, 02 Mar 2017 08:38:58 +0000</pubDate>
				<category><![CDATA[Publicaciones]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[deflate]]></category>
		<category><![CDATA[gzip]]></category>
		<category><![CDATA[páginas web]]></category>
		<category><![CDATA[programación web]]></category>
		<category><![CDATA[publicaciones]]></category>
		<category><![CDATA[tutoriales]]></category>
		<category><![CDATA[wordpress]]></category>
		<guid isPermaLink="false">http://www.gestionatuweb.net/?p=2327</guid>

					<description><![CDATA[La compresión web es una función que se ejecuta en el servidor antes de entregar la página al usuario que la solicita. Básicamente se trata de comprimir todos los elementos que conforman nuestra página, desde archivos CSS, archivos javascript, imágenes, hasta la composición HTML final, haciendo que la página se descargue más rápidamente. Además es [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">La compresión web es una función que se ejecuta en el servidor antes de entregar la página al usuario que la solicita. Básicamente se trata de comprimir todos los elementos que conforman nuestra página, desde archivos CSS, archivos javascript, imágenes, hasta la composición HTML final, haciendo que la página se descargue más rápidamente.</p>



<p class="wp-block-paragraph">Además es una de las principales reglas que Google valora en su test&nbsp;<a href="https://developers.google.com/speed/pagespeed/insights/">PageSpeed Insights</a>&nbsp;y no tenerlo activado seguramente penalizará nuestro posicionamiento.</p>



<p class="wp-block-paragraph">Para habilitar la compresión web podemos hacer uso de dos métodos dependiendo del tipo de servidor que usemos, Gzip y DEFLATE.</p>



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



<p class="wp-block-paragraph">Gzip es un módulo de Apache que debe estar habilitado&nbsp;en tu hosting para que funcione. Muchos hostings compartidos pueden no tenerla habilitado, bien por ahorrar recursos o bien por prevenir que ciertas funcionalidades del servidor interfieran en el funcionamiento de las páginas de otros usuarios (de ahí a que se llame hosting compartido).</p>



<p class="wp-block-paragraph">Si nuestro hosting dispone de compresión Gzip (podemos consultarlo al soporte técnico), solo tenemos que acceder al archivo .htaccess de nuestro servidor. Este archivo se encuentra en la carpeta raíz y comienza con un punto (.) porque se trata de un archivo oculto, que solo podremos ver si en las opciones de exploración tenemos habilitada la opción «mostrar archivos ocultos» o usamos algún tipo se aplicación FTP como Filezilla.</p>



<p class="wp-block-paragraph">Para activar la compresión Gzip, hacemos primeramente una comprobación para saber si el módulo Gzip está o no habilitado, y en caso de estarlo ejecutar la función:</p>



<pre class="wp-block-code lang:default decode:true"><code># Compresión GZIP con mod_gzip

&lt;IfModule mod_gzip.c&gt;
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file \.(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
&lt;/ifModule&gt;
</code></pre>



<p class="wp-block-paragraph">Guardamos los cambios y para saber si funciona podemos acudir a una web que checkea si la compresión Gzip está habilitada en nuestro sitio web:</p>



<p class="wp-block-paragraph"><a href="https://checkgzipcompression.com/">https://checkgzipcompression.com/</a></p>



<p class="wp-block-paragraph">Introducimos nuestra URL y si la compresión Gzip se ha habilitado correctamente aparecerá el resultado:</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1160" height="359" src="https://danisanchez.net/wp-content/uploads/2017/03/001.jpg" alt="" class="wp-image-2328" srcset="https://danisanchez.net/wp-content/uploads/2017/03/001.jpg 1160w, https://danisanchez.net/wp-content/uploads/2017/03/001-300x93.jpg 300w, https://danisanchez.net/wp-content/uploads/2017/03/001-1024x317.jpg 1024w, https://danisanchez.net/wp-content/uploads/2017/03/001-768x238.jpg 768w" sizes="auto, (max-width: 1160px) 100vw, 1160px" /></figure>



<p class="wp-block-paragraph">De lo contrario mostrará:</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1152" height="370" src="https://danisanchez.net/wp-content/uploads/2017/03/002.jpg" alt="" class="wp-image-2329" srcset="https://danisanchez.net/wp-content/uploads/2017/03/002.jpg 1152w, https://danisanchez.net/wp-content/uploads/2017/03/002-300x96.jpg 300w, https://danisanchez.net/wp-content/uploads/2017/03/002-1024x329.jpg 1024w, https://danisanchez.net/wp-content/uploads/2017/03/002-768x247.jpg 768w" sizes="auto, (max-width: 1152px) 100vw, 1152px" /></figure>



<p class="wp-block-paragraph">Si no podemos activar la compresión Gzip en nuestro hosting podemos intentarlo con la compresión DEFLATE.</p>



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



<p class="wp-block-paragraph">DEFLATE es otro método de compresión web que podemos usar si nuestro hosting no permite habilitar Gzip.</p>



<p class="wp-block-paragraph">Básicamente se activa de igual modo que Gzip, accediendo al archivo .htaccess, comprobando si el módulo está habilitado y tal caso ejecutar la función:</p>



<pre class="wp-block-code lang:default decode:true"><code>{IfModule mod_deflate.c}
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE image/x-icon
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript

# Especificaciones para algunos navegadores
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0&#91;678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
BrowserMatch \bOpera !no-gzip

{/IfModule}</code></pre>



<p class="wp-block-paragraph">Para asegurarnos de que se ha habilitado correctamente, podemos hacer el test de&nbsp;<a href="https://developers.google.com/speed/pagespeed/insights/">PageSpeed Insights</a>&nbsp;y comprobar si la regla «Habilitar compresión» continúa entre los <em>Elementos que debes corregir</em> (en rojo):</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="852" height="225" src="https://danisanchez.net/wp-content/uploads/2017/03/003.jpg" alt="" class="wp-image-2330" srcset="https://danisanchez.net/wp-content/uploads/2017/03/003.jpg 852w, https://danisanchez.net/wp-content/uploads/2017/03/003-300x79.jpg 300w, https://danisanchez.net/wp-content/uploads/2017/03/003-768x203.jpg 768w" sizes="auto, (max-width: 852px) 100vw, 852px" /></figure>



<p class="wp-block-paragraph">O si de lo contrario ha pasado a <em>Elementos que puedes plantearte corregir</em> (naranja) o <em>Reglas aprobadas</em> (verde):</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="415" height="181" src="https://danisanchez.net/wp-content/uploads/2017/03/004.jpg" alt="" class="wp-image-2331" srcset="https://danisanchez.net/wp-content/uploads/2017/03/004.jpg 415w, https://danisanchez.net/wp-content/uploads/2017/03/004-300x131.jpg 300w" sizes="auto, (max-width: 415px) 100vw, 415px" /></figure>



<p class="wp-block-paragraph">Si el mensaje a pasado a <em>Elementos que puedes plantearte corregir</em> significa que la compresión web está habilitada, pero que existen ciertos elementos que no se han podido comprimir. Esto sucede por ejemplo, cuando utilizados plugins que llaman a archivos CSS o javascript de terceros, elementos que no se encuentran físicamente en nuestro servidor y no es posible comprimir.</p>



<p class="wp-block-paragraph">Por ejemplo, en una de las webs que gestiono tenemos un servicio de Chat en línea implementado por un plugin. Un archivo externo utilizado por este plugin es el que provoca que la Compresión web no aparezca como Regla aprobada 100% en el test:</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="985" height="186" src="https://danisanchez.net/wp-content/uploads/2017/03/005.jpg" alt="" class="wp-image-2332" srcset="https://danisanchez.net/wp-content/uploads/2017/03/005.jpg 985w, https://danisanchez.net/wp-content/uploads/2017/03/005-300x57.jpg 300w, https://danisanchez.net/wp-content/uploads/2017/03/005-768x145.jpg 768w" sizes="auto, (max-width: 985px) 100vw, 985px" /></figure>



<p class="wp-block-paragraph">Aunque si nos fijamos, el ahorro tras la compresión sería de tan solo 1,4 KB.</p>



<h2 class="wp-block-heading">Terminando&#8230;</h2>



<p class="wp-block-paragraph">Si tras probar ambos métodos de compresión aún no podéis habilitar la compresión web, poneos en contacto con vuestro proveedor de hosting a fin de que os faciliten una solución o alternativa, y si no os lo solucionan podéis plantearos cambiar de&nbsp;hosting.</p>



<p class="wp-block-paragraph">Gracias a la compresión, conseguí reducir el peso de mi web de 1,2 MB a 886 KB.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="1015" height="328" src="https://danisanchez.net/wp-content/uploads/2017/03/006.jpg" alt="" class="wp-image-2333" srcset="https://danisanchez.net/wp-content/uploads/2017/03/006.jpg 1015w, https://danisanchez.net/wp-content/uploads/2017/03/006-300x97.jpg 300w, https://danisanchez.net/wp-content/uploads/2017/03/006-768x248.jpg 768w" sizes="auto, (max-width: 1015px) 100vw, 1015px" /></figure>



<p class="wp-block-paragraph">Podéis hacer la comprobación con vuestras webs utilizando la herramienta <a href="https://tools.pingdom.com" target="_blank" rel="noopener noreferrer">PingDom</a>.</p>



<p class="wp-block-paragraph">Y eso es todo, espero que este artículo os sea de mucha utilidad.</p>



<p class="has-text-align-center wp-block-paragraph">&nbsp;</p>
]]></content:encoded>
					
					<wfw:commentRss>https://danisanchez.net/activar-la-compresion-web-con-gzip-y-deflate-en-tu-hosting/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Crea tablas dinámicas en WordPress con TablePress</title>
		<link>https://danisanchez.net/crea-tablas-dinamicas-en-wordpress-con-tablepress/</link>
					<comments>https://danisanchez.net/crea-tablas-dinamicas-en-wordpress-con-tablepress/#comments</comments>
		
		<dc:creator><![CDATA[dani.sanchez]]></dc:creator>
		<pubDate>Thu, 17 Nov 2016 16:27:19 +0000</pubDate>
				<category><![CDATA[Publicaciones]]></category>
		<category><![CDATA[Tutoriales]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[páginas web]]></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=1629</guid>

					<description><![CDATA[Una de las opciones que a veces echamos en falta en el editor de textos de WordPress &#160;es la posibilidad de insertar tablas en una entrada o página, para por ejemplo, estructurar un listado de datos. TablePress permite diseñar tablas y hacerlas dinámicas e interactivas para nuestros usuarios, ofreciendo opciones tales como búsquedas dentro de [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Una de las opciones que a veces echamos en falta en el editor de textos de WordPress &nbsp;es la posibilidad de insertar tablas en una entrada o página, para por ejemplo, estructurar un listado de datos.</p>



<p class="wp-block-paragraph"><strong><a href="https://wordpress.org/plugins/tablepress/" target="_blank" rel="noreferrer noopener">TablePress</a></strong> permite diseñar tablas y hacerlas dinámicas e interactivas para nuestros usuarios, ofreciendo opciones tales como búsquedas dentro de la tabla, organizarlas por algún determinado filtro, paginarlas, etc.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="581" height="253" src="https://danisanchez.net/wp-content/uploads/2021/05/002.jpg" alt="" class="wp-image-10697" srcset="https://danisanchez.net/wp-content/uploads/2021/05/002.jpg 581w, https://danisanchez.net/wp-content/uploads/2021/05/002-300x131.jpg 300w" sizes="auto, (max-width: 581px) 100vw, 581px" /></figure>



<p class="wp-block-paragraph">Al instalarlo, lo tendremos como un elemento más dentro del menú principal de WordPress.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="181" height="238" src="https://danisanchez.net/wp-content/uploads/2021/05/003.jpg" alt="" class="wp-image-10698"/></figure>



<p class="wp-block-paragraph">Si queremos crear una tabla, nos vamos al menú Agregar Nueva, le damos un nombre y una descripción opcional, y especificamos de cuántas columnas y filas va a constar, aunque luego podemos agregar más o eliminarlas.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="845" height="572" src="https://danisanchez.net/wp-content/uploads/2021/05/004.jpg" alt="" class="wp-image-10699" title="Agregar nueva tabla" srcset="https://danisanchez.net/wp-content/uploads/2021/05/004.jpg 845w, https://danisanchez.net/wp-content/uploads/2021/05/004-300x203.jpg 300w, https://danisanchez.net/wp-content/uploads/2021/05/004-768x520.jpg 768w" sizes="auto, (max-width: 845px) 100vw, 845px" /></figure>



<p class="wp-block-paragraph">En el apartado <strong>Contenido de tabla </strong>rellenamos los datos (por defecto la primera fila será el encabezado de la tabla).</p>



<p class="wp-block-paragraph">Debajo tenemos opciones para manipular nuestra tabla, como agregar nuevas filas y columnas, combinar celdas, insertar imágenes o enlaces dentro de una celda, etc.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="928" height="547" src="https://danisanchez.net/wp-content/uploads/2021/05/005.jpg" alt="" class="wp-image-10700" title="Contenido de la tabla" srcset="https://danisanchez.net/wp-content/uploads/2021/05/005.jpg 928w, https://danisanchez.net/wp-content/uploads/2021/05/005-300x177.jpg 300w, https://danisanchez.net/wp-content/uploads/2021/05/005-768x453.jpg 768w" sizes="auto, (max-width: 928px) 100vw, 928px" /></figure>



<p class="wp-block-paragraph">Las opciones de tabla permiten configurar algunos aspectos sobre el diseño de nuestra tabla, por ejemplo:</p>



<ul class="wp-block-list"><li>Especificar que la primera fila sea el encabezado y la última fila sea el píe de tabla.</li><li>Que las filas se muestren con colores alternos para diferenciarlas mejor.</li><li>Especificar dónde mostrar el nombre de la tabla.</li><li>Opciones CSS adicionales.</li></ul>



<p class="wp-block-paragraph">Conviene ir probando hasta encontrar la configuración que más se adapte a nuestras necesidades.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="349" src="https://danisanchez.net/wp-content/uploads/2021/05/006-1024x349.jpg" alt="" class="wp-image-10701" title="opciones de tabla" srcset="https://danisanchez.net/wp-content/uploads/2021/05/006-1024x349.jpg 1024w, https://danisanchez.net/wp-content/uploads/2021/05/006-300x102.jpg 300w, https://danisanchez.net/wp-content/uploads/2021/05/006-768x261.jpg 768w, https://danisanchez.net/wp-content/uploads/2021/05/006.jpg 1031w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">Las siguientes opciones tienen que ver con la interactividad de la que vamos a dotar nuestra tabla.</p>



<p class="wp-block-paragraph">Algunas opciones permiten que nuestros usuarios puedan ordenar los datos de la tabla, paginarlos (por ejemplo a 10 resultados por página), realizar búsquedas, filtrar, etc.</p>



<p class="wp-block-paragraph">Igualmente conviene ir probando para ver las posibilidades con las que contamos y adaptarlo a nuestras necesidades.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="454" src="https://danisanchez.net/wp-content/uploads/2021/05/007-1024x454.jpg" alt="" class="wp-image-10702" title="Funciones JavaScript de la Tabla" srcset="https://danisanchez.net/wp-content/uploads/2021/05/007-1024x454.jpg 1024w, https://danisanchez.net/wp-content/uploads/2021/05/007-300x133.jpg 300w, https://danisanchez.net/wp-content/uploads/2021/05/007-768x340.jpg 768w, https://danisanchez.net/wp-content/uploads/2021/05/007.jpg 1027w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">Una vez terminemos de definir nuestra tabla y sus opciones guardamos los cambios y nos dirigimos a la entrada o página donde queremos insertar nuestra nueva tabla.</p>



<p class="wp-block-paragraph">Veremos&nbsp;el nuevo&nbsp;icono de TablePress&nbsp;en el editor de textos de WordPress.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="880" height="325" src="https://danisanchez.net/wp-content/uploads/2021/05/008.jpg" alt="" class="wp-image-10703" title="Icono de tablepress en el editor de textos de WordPress" srcset="https://danisanchez.net/wp-content/uploads/2021/05/008.jpg 880w, https://danisanchez.net/wp-content/uploads/2021/05/008-300x111.jpg 300w, https://danisanchez.net/wp-content/uploads/2021/05/008-768x284.jpg 768w" sizes="auto, (max-width: 880px) 100vw, 880px" /></figure>



<p class="wp-block-paragraph">Haciendo clic en el icono de TablePress podemos insertar una tabla de forma rápida.</p>



<p class="wp-block-paragraph">Nos abrirá en una ventana modal un listado de las tablas que ya tenemos creadas para seleccionar la que necesitemos:</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="829" height="586" src="https://danisanchez.net/wp-content/uploads/2021/05/009.jpg" alt="" class="wp-image-10704" title="Seleccionar la tabla para insertar" srcset="https://danisanchez.net/wp-content/uploads/2021/05/009.jpg 829w, https://danisanchez.net/wp-content/uploads/2021/05/009-300x212.jpg 300w, https://danisanchez.net/wp-content/uploads/2021/05/009-768x543.jpg 768w" sizes="auto, (max-width: 829px) 100vw, 829px" /></figure>



<p class="wp-block-paragraph">Una vez localizada la tabla hacemos clic en el botón Insertar código abreviado y guardamos los cambios.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="934" height="556" src="https://danisanchez.net/wp-content/uploads/2021/05/010.jpg" alt="" class="wp-image-10705" title="insertar shortcode de TablePress" srcset="https://danisanchez.net/wp-content/uploads/2021/05/010.jpg 934w, https://danisanchez.net/wp-content/uploads/2021/05/010-300x179.jpg 300w, https://danisanchez.net/wp-content/uploads/2021/05/010-768x457.jpg 768w" sizes="auto, (max-width: 934px) 100vw, 934px" /></figure>



<p class="wp-block-paragraph">Y vemos cómo ha quedado nuestra nueva tabla, totalmente dinámica e interactiva, con posibilidad de realizar búsqueda, seleccionar los registros a mostrar por página, posibilidad de filtrar por campos, etc.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="440" src="https://danisanchez.net/wp-content/uploads/2021/05/011-1024x440.jpg" alt="" class="wp-image-10706" srcset="https://danisanchez.net/wp-content/uploads/2021/05/011-1024x440.jpg 1024w, https://danisanchez.net/wp-content/uploads/2021/05/011-300x129.jpg 300w, https://danisanchez.net/wp-content/uploads/2021/05/011-768x330.jpg 768w, https://danisanchez.net/wp-content/uploads/2021/05/011.jpg 1352w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://danisanchez.net/crea-tablas-dinamicas-en-wordpress-con-tablepress/feed/</wfw:commentRss>
			<slash:comments>5</slash:comments>
		
		
			</item>
	</channel>
</rss>
