Vis dokumenter fra WP Upload folder

For automatisk at generere en liste over dokumenter (eller billeder) i uploadfolderen kan nedenstående metode benyttes.

Opret en fil “visdokumenter.php”, copy/paste nedenstående og upload til dit theme directory.

Opret herefter en blank/tom “Side” (page) med template visdokumenter.

<?php
/*
Template Name: Dokumentoversigt
*/
?>
<h2>Dokumenter</h2>
<div class="dokumentoversigt">
  <ul>
  <?php
    $valid_ext = array("pdf", "doc", "rtf", "htm", "txt");
    $args = array(
	'post_type' =>  'attachment',
	'numberposts' =>  -1,
	'post_status' =>  null,
	'post_parent' =>  null, // any parent
	);
    $attachments = get_posts($args);
    if ($attachments)
    {
      foreach ($attachments as $post)
        {
          $ext = getFileExt(wp_get_attachment_url($post->ID, false));
          if(in_array($ext, $valid_ext))
          {
            ?>
              <li>
              <?php setup_postdata($post); ?>
                <div class="dokument_icon">
                  <a href="<?php echo wp_get_attachment_url($attachment_id); ?>">
                  <h3> <?php echo get_attachment_icon($attachment_id); ?></h3></a>
                </div>
                <div class="dokument_indhold">
                  <?php the_content(); ?>
                </div>
              </li>
              <?php
          }
        }
      }
    ?>
  </ul>
</div>

<?php
function getFileExt($file) {
     return strtolower(substr(strrchr($file,'.'),1));
}
?>

Dette er har jeg styled som følger:

div.dokumentoversigt ul, li {
  float:left; list-style:none; display:inline;
}
div.dokumentoversigt li {
  padding:5px; background-color:#f5f5f5;
}
div.dokument_icon {
  float:left; padding:10px; width:70px; margin:0 auto; text-align:center;
}
div.dokument_indhold {
  float:left; padding:10px; width:710px; background-color:#fff;
}

Skriv et svar

Din e-mail-adresse vil ikke blive offentliggjort. Krævede felter er markeret med *

*

Disse HTML koder og attributter er tilladte: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>