it-swarm.com.de

Wie bekomme ich eine angehängte Datei in WordPress aus einem benutzerdefinierten Beitrag

Ich benutze das Monitor-Plugin zum Herunterladen

Ich liste die Beiträge nach Kategorie folgendermaßen auf

$term = get_term_by( 'slug', get_query_var( 'term' ), get_query_var( 'taxonomy' ) ); 

<?php

            $args = array(
                'post_type' => 'dlm_download',
                'posts_per_page' =>25,
                'numberposts' => null,
                'dlm_download_category' => $term->slug
            );

                $downloads = get_posts($args);

                foreach ($downloads as $download) {

                    echo '<div class="download-content">';

                        echo '<h3>
                                <a href="" title="Letöltés"><i class="left icon-arrow-down"></i></a>
                                '.$download->post_title.' 
                                <a href="" title="Információ"><i class="right icon-plus"></i></a>
                            </h3>'; 

                        echo '<p>'.$download->post_excerpt.'</p>';

                    echo '</div>';
                }


        ?>

Aber ich habe keine Ahnung, wie ich eine benutzerdefinierte angehängte Post-Datei anzeigen soll. Die Datei ist in der Tabelle wp_postmeta enthalten.

Ich habe es mit wp_get_attached_ur($download->ID) versucht, aber es wird eine leere Zeichenfolge zurückgegeben

Könnte mir bitte jemand einen Hinweis geben?

2
Side

Mit dem Download-Monitor-Plugin können Sie nicht direkt über eine URL auf die Datei zugreifen, da das Plugin den Zugriff auf den Download-Monitor-Ordner einschränkt.

Sie können die Downloadlinks ganz einfach generieren und trotzdem den Plugins Counter und andere Methoden verwenden.

Wenn Sie die ID des Downloads als $_GET- Variable an Ihre WordPress-Installation übergeben, übernimmt das Plugin den Rest selbst:

$downurl = get_bloginfo( 'url' )  . '?download=' . $download->ID;

Daraus resultiert ein Link wie http://example.com?download=1234.

Der Grund, warum Sie die Download-URL mit wp_get_attached_url() nicht erhalten konnten, ist, dass der dlm_download, den Sie durchlaufen, nur ein benutzerdefinierter Beitragstyp und kein Anhang für sich ist. Der Anhang ist über den post_parent mit dem downloadCPT verbunden. Auf diese Weise weiß das Plugin, welcher Download mit welcher Anfrage zu liefern ist.

Ihr Code könnte ungefähr so ​​aussehen:

$args = array(
    'post_type' => 'dlm_download',
    'posts_per_page' => 25,
    'numberposts' => null,
    'dlm_download_category' => $term->slug
);

$downloads = get_posts($args);

foreach ($downloads as $download) {

    echo '<div class="download-content">';

        echo '<h3>
            <a href="' . get_bloginfo( 'url' )  . '?download=' . $download->ID . '" title="Letöltés">
                <i class="left icon-arrow-down"></i>
                '.$download->post_title.'
            </a>
            <a href="' . get_bloginfo( 'url' )  . '?download=' . $download->ID . '" title="Információ">
                <i class="right icon-plus"></i>
            </a>
        </h3>'; 

        echo '<p>'.$download->post_excerpt.'</p>';

    echo '</div>';
}

Sie können jedoch auch die im Plugin eingebauten Methoden verwenden, um das Gleiche zu erreichen.

2
fischi