Angehängte PDF-Dateien für jeden Artikel ausgeben

WordPress bietet die Möglichkeit, für jeden Artikel individuelle Anhänge (Attachments) hochzuladen. Das können z.B. Fotos, Video- und Audiodateien oder PDF-Dateien sein. Stellt man seinen Usern beispielsweise parallel zum normalen Content regelmäßig PDF-Dateien zur Verfügung, kann man für diese PDF-Downloads einen festen Bereich im Template definieren (z.B. Sidebar), der dynamisch mit Links zu den zum Artikel gehörenden PDF-Dateien gefüttert wird.

Im folgenden Code-Beispiel wird eine Liste (ul) mit Links zu den angehängten PDF-Dateien generiert. Als Linktext wird der beim Upload angebene Titel verwendet. Den Code einfach an die Stelle des Templates kopieren, an der man die Liste haben möchte. Danach werden angehängte PDF-Dateien an gewünschter Stelle ausgeben, wenn für den Artikel PDF-Dateien in der WordPress-internen Mediathek hinterlegt wurden.

Wichtig: Die PDF-Dateien müssen immer im gewünschten Artikel oder in der gewünschte Seite hochgeladen werden (danach abspeichern), damit die Dateien automatisch der Artikel-ID zugeordnet werden.

<ul>
<?php
function get_attachment_pdfs() {
global $post;
return get_children( array('post_parent' => $post->ID, 'post_status' => 'inherit', 'post_type' => 'attachment', 'post_mime_type' => 'application/pdf', 'order' => 'ASC', 'orderby' => 'menu_order ID') );
}
if ($pdf = get_attachment_pdfs()) {
foreach ($pdf as $pdffile) {
echo '<li><a target="_blank" title="' . $pdffile->post_title . '" href="' . wp_get_attachment_url($pdffile->ID) . '">' . $pdffile->post_title . '</a></li>';
}
}
?>
</ul>

3 Gedanken zu „Angehängte PDF-Dateien für jeden Artikel ausgeben“

  1. Waaa, klasse! Nach solch einer Lösung habe ich seit gestern schon gesucht für ein WP, das ein Dau pflegen soll.

    Man kann ja per „Dateien hinzufügen“ pdfs hochladen, aber keinen target vergeben, und pdfs + externe Links gehören der Userbindung halber meiner Ansicht nach in ein neues Fenster, da lange net jeder User weiß, wie tabbed browsing funktioniert bzw., dass es das gibt, oder halt noch nen dödeligen IE6 o.ä. benutzt.

    Dankeschöööööööön! :o)

  2. Super Sache, vielen Dank dafür. Werde ich bei unserem News-Blog mal testen, wir geben regelmässig Veranstaltungs-PDFs raus, das macht es natürlich viel einfacher. Echt klasse, dankeschön :)

Schreibe einen Kommentar