Es frecuente que se necesite en una página web un área de descarga de documentos y, generalmente, necesitaremos que los documentos se puedan organizar en categorías. El plugin para WordPress Download Monitor cumple con estos requisitos y muchas otras ventajas.

Os vamos a hablar de él y a enseñaros un par de truquillos para sacar mejor rendimiento del mismo.

Descarga del plugin Download Monitor:
https://www.download-monitor.com/

Características del plugin incluidas en la versión gratuita del mismo:
– Fácil interfaz en el panel de administración para subir documentos
– Permite crear categorías para organizar los documentos
– Permite incluir distintas versiones de un mismo documento
– Permite recoger datos de acceso y descarga de los documentos
– Permite proteger ciertos documentos con contraseña
– Fácil integración con shortcodes muy personalizables en función de los argumentos que se les pasen
– Documentación en inglés relativamente clara

Tiene una serie de funcionalidades adicionales que se le pueden añadir con extensiones con coste. Os dejamos el enlace a la página de extensiones aquí:

Con el shortcode [downloads] puedes listar en una página todos los documentos a descargar y, si le pasas el argumento “category” puedes indicar una o más categorías para que sólo se muestren los documentos de esa/s categoría/s. Estos es útil para crear una página con todos los documentos de una determinada categoría. Es decir, para crear una página por categoría de documentos.

Pero ¿qué pasa si lo que queremos es mostrar en una única página un árbol de categorías con sus documentos asociados? Es decir, es frecuente que queramos incluir en una única página y de forma automática, los documentos organizados (o segmentados) por categorías. En este caso en la página oficial del plugin te recomiendan comprar la extensión PAGE ADDON y es una opción, pero es de pago:

Hay otra posibilidad para conseguir crear una página de descargas de documentos organizados por categorías. Consiste en incluir un pequeño código en el archivo page.php de la plantilla:

$terms = get_terms( 'dlm_download_category' );
foreach ( $terms as $term ) {
  echo "<h2>" . $term->name . "</h2>";
  $slug = $term->slug;
  echo do_shortcode( "[downloads category='$slug']" );
}

 

Y, ya que nos metemos en faena, podemos indicar que utilice este segmento de código sólo cuando nos encontremos en una determinada página (usando el id del post en cuestión):

if ( $post->ID == 529) {
$terms = get_terms( 'dlm_download_category' );
foreach ( $terms as $term ) {
  echo "<h2>" . $term->name . "</h2>";
  $slug = $term->slug;
  echo do_shortcode( "[downloads category='$slug']" );
}
}

 

Y, si además queremos que sólo puedan ver las descargas los usuarios que han iniciado sesión (acceso privado), podemos añadir otra condición, comprobando que se ha iniciado sesión.

if ( $post->ID == 529) {
  if ( is_user_logged_in() ) {
            $terms = get_terms( 'dlm_download_category' );
            foreach ( $terms as $term ) {
            echo "<h2>" . $term->name . "</h2>";
            $slug = $term->slug;
            echo do_shortcode( "[downloads category='$slug']" );
            }
        } 
}