Durchlaufen Sie Beiträge und zeigen Sie eingefügte Medien an und veröffentlichen Sie den Titel als Link

Ich fummle mit einem Problem herum, das ich nicht lösen kann. Innerhalb der Schleife möchte ich die URL einer eingefügten Mediendatei (pdf, doc etc) finden und diese als Anker anzeigen. Außerdem möchte ich den Titel des aktuellen Beitrags als Inhalt des Links anzeigen. Mein Versuch bisher:

 <a href="https://wordpress.stackexchange.com/questions/163907/loop-through-posts-and-display-inserted-media-and-post-title-as-a-link/">   

das Anzeigen des Titels funktioniert völlig in Ordnung. Aber der href="" zeigt nichts. Vielen Dank

Hinweis: Es handelt sich um eine Mediendatei, die einfach als Post-Inhalt eingefügt wird, nicht als ein vorgestellten Bild oder etwas.

Solutions Collecting From Web of "Durchlaufen Sie Beiträge und zeigen Sie eingefügte Medien an und veröffentlichen Sie den Titel als Link"

Ich warf einen kurzen Blick auf die andere Frage, auf die in anderen Kommentaren verwiesen wird, und das Wesentliche, wie Sie Anhänge dort durchschleifen, steht im wp_get_attachment_image mit dem, was im Beispieldokument wp_get_attachment_image gezeigt wird. Kurz gesagt, alle Anhänge in einem bestimmten Beitrag verweisen auf diesen Beitrag nach ID.

Insbesondere ist es wichtig zu verstehen, dass Anhänge auch selbst vom Post-Typ- Anhang sind . Innerhalb Ihrer Hauptschleife erhalten Sie Ihre Anhänge, indem Sie eine verschachtelte Abfrage für alle Anhänge ausführen, deren übergeordnetes Element der ID des Posts Ihrer äußeren Schleife entspricht:

 // Our main (outer) query: while(have_posts()) { the_post(); $nested_query = new WP_Query(array( "post_type" => "attachment", "post_status" => "inherit", "posts_per_page" => -1, "post_parent" => get_the_ID() // attachments belonging to the post we're looking at )); $attachments = $nested_query->get_posts(); // get an array of post objects for each attachment foreach($attachments as $att_post) { printf("https://wordpress.stackexchange.com/questions/163907/loop-through-posts-and-display-inserted-media-and-post-title-as-a-link/%s", wp_get_attachment_url($att_post->ID), get_the_title()); } } 

Ich bezweifle, dass das Obige das tut, was Sie wollen, vor allem, weil ich nicht glaube, dass Sie für jeden einzelnen Anhang, der den Posttitel für seinen Text hat, einen Anker ausgeben möchten. Zu Illustrationszwecken können Sie auf diese Weise Anhänge durchgehen, die in einer Post-Loop verschachtelt sind.