Listar archivos adjuntos de una página

El día de ayer trabajaba en un playlist que se vería en una página específica de mi web. El problema que se había presentado era de dónde iva a sacar los archivos de música.

Decidí usar la librería multimedia del mismo wordpress para alojar las canciones pero ¿cómo filtraría solo los archivos de audio?. Buscando encontré una solución aun mucho mejor. Se trataba de un código simple que me traía solo los archivos multimedia que se subían en la página. Esto era mucho mejor ya que uno mismo puede controlar que archivos llamar y no a todos como pensé en un principio.

El código lo pones en el archivo de tu página:

/* Con esta función podremos traer los archivos adjuntos de una página. Solo ponemos este código en la página deseada y nos mostrará los archivos. */
 
$args = array(
  'post_type' => 'attachment',
  'numberposts' => null,
  'post_status' => null,
  'post_parent' => $post->ID
);
 
$attachments = get_posts($args);
 
if ($attachments) {
  foreach ($attachments as $attachment) {
 
    /* Aquí nos lista los archivos adjuntos */
    echo apply_filters('the_title', $attachment->post_title);
 
    /* Si deseas un enlace hacia ese archivo escribe este código. */
    the_attachment_link($attachment->ID, false);
 
  }
}

Este código no solo nos servirá para archivos de audio, podemos modificarlo a nuestro gursto. En la línea 17 pueden elegir que datos traer con solo cambiar el post_title: “$attachment->post_title”. Por ejemplo si usan “$attachment->guid” le traerá el enlace. Para ver estas opciones lo que hice fue ver el array con “print_r[“$attachments”]”.