Come ottenere tutti gli allegati di posta in WordPress eccetto per l'immagine in primo piano
Di recente mentre lavoravamo su un progetto personalizzato per un cliente, dovevamo ottenere tutti gli allegati di posta da un tipo di post personalizzato e visualizzarli in un unico posto. Poiché stavamo creando una visualizzazione a griglia, avevamo l'immagine in primo piano di ogni post che serviva allo scopo di un separatore. Questo è il motivo per cui quando riceviamo tutti gli allegati, dovevamo escludere l'immagine in primo piano, quindi non viene mostrata due volte. In questo articolo, ti mostreremo come ottenere tutti gli allegati in WordPress ad eccezione dell'immagine in primo piano.
Tutto ciò che devi fare è incollare il seguente codice all'interno di un ciclo.
post_type == 'data-design' && $ post-> post_status == 'publish') $ attachments = get_posts (array ('post_type' => 'attachment', 'posts_per_page' => -1, 'post_parent' => $ post-> ID, 'exclude' => get_post_thumbnail_id ())); if ($ attachments) foreach ($ attachments as $ attachment) $ class = "post-attachment mime-". sanitize_title ($ attachment-> post_mime_type); $ thumbimg = wp_get_attachment_link ($ attachment-> ID, 'thumbnail-size', true); eco '
Il codice sopra prima controlla se il tipo di post è di progettazione dati e lo stato del post è pubblicato. Potrebbe non essere necessario il primo condizionale a seconda di cosa si sta tentando di fare. Quindi eseguiamo semplicemente la query get_posts. Tutto è abbastanza auto esplicativo lì. La chiave che dobbiamo evidenziare è la funzione di esclusione. Questa linea si sta assicurando che l'immagine in primo piano non venga visualizzata. Se togli quella linea, l'immagine in primo piano apparirà. Dopo aver specificato tutti i parametri, dobbiamo semplicemente specificare cosa fare quando viene estratto ogni allegato. Stiamo inserendo il tipo di allegato per la variabile di classe. Quindi la variabile $ thumbimg utilizza semplicemente wp_get_attachment_link per estrarre l'immagine a una specifica dimensione di anteprima e collega inoltre l'immagine alle singole pagine di allegato. Nel passaggio finale, lo facciamo semplicemente eco.
Abbiamo eseguito questo codice all'interno di un ciclo con una chiamata separata per l'immagine in primo piano che collega al singolo post. Il risultato finale assomigliava a questo:
Ogni immagine in primo piano è servita come immagine di identificazione dell'album che puoi vedere. Le macchie grigie sono state riempite con gli allegati per il post. Speriamo che questo possa aiutare coloro che stanno cercando di spingere WordPress oltre una piattaforma di blogging.