2009-09-02 19 views
8

Howdy! Szukam sposobu, aby wyświetlić listę wszystkich plików graficznych w bibliotece multimediów postów.Wordpress: zapytanie o wszystkie obrazy w bibliotece mediów pocztowych

Mam na myśli to, że jeśli plik został przesłany podczas tworzenia lub edytowania postu, jest plik powiązany z postem w jakiś sposób i czy mogę utworzyć listę z tych danych.

Myślę, że next_image_link()/previous_image_link(); tag szablonu jest tak blisko, jak znalazłem.

myślę, że powinno to być blisko:

$query = 'SELECT * FROM `wp_posts` 
WHERE `post_parent` = \''.$_GET['post_id'].'\' 
AND `post_mime_type` = \'image/jpeg\' 
ORDER BY `menu_order` ASC'; 

dzięki.

+3

** NIGDY NIE ROBIĆ TO ** - ustawiasz się, aby twoja baza danych i/lub aplikacja była zagrożona przez [SQL injections] (https://en.wikipedia.org/wiki/SQL_injection). Za każdym razem, gdy budujesz ciąg kwerendy do bazy danych bezpośrednio z danych otrzymanych od klienta, * robisz to źle *. Zawsze używaj [sparametryzowanych zapytań] (http://stackoverflow.com/a/60496/41688). – BryanH

Odpowiedz

11

W terminologii wordpress każdy obraz przesłany do konkretnego postu nazywany jest załącznikiem. do listy wszystkich załączników, można użyć get_children() funkcję:

$images =& get_children('post_type=attachment&post_mime_type=image&post_parent=10'); 

$counter=0; 
foreach((array) $images as $attachment_id => $attachment) 
{ 
    $counter++; 
    echo "<a href='".wp_get_attachment_link($attachment_id) . "'>image $counter</a><br />"; 
} 

algorytmu jest coś takiego.

0

Jeśli szukasz wtyczki do zarządzania galerią zdjęć, można użyć attachments wtyczki

http://wordpress.org/plugins/attachments/

Utrzymuje galerię oddzielne i nie umieścić shortcodes Galeria obrazków w treści postu, zapewniając w ten sposób z pełnym przytrzymaniem nad wyświetlaniem obrazu w swoim poście/stronie/niestandardowym poście. Można również zmienić kolejność zdjęć przez po prostu przeciągnij i upuść

tutaj jest przykładowy kod, w jaki sposób odzyskać swoje zdjęcia galeria,

<?php $attachments = new Attachments('attachments'); /* pass the instance name */ ?> 
<?php if($attachments->exist()) : ?> 
    <h3>Attachments</h3> 
    <p>Total Attachments: <?php echo $attachments->total(); ?></p> 
    <ul> 
    <?php while($attachments->get()) : ?> 
     <li> 
     ID: <?php echo $attachments->id(); ?><br /> 
     Type: <?php echo $attachments->type(); ?><br /> 
     Subtype: <?php echo $attachments->subtype(); ?><br /> 
     URL: <?php echo $attachments->url(); ?><br /> 
     Image: <?php echo $attachments->image('thumbnail'); ?><br /> 
     Source: <?php echo $attachments->src('full'); ?><br /> 
     Size: <?php echo $attachments->filesize(); ?><br /> 
     Title Field: <?php echo $attachments->field('title'); ?><br /> 
     Caption Field: <?php echo $attachments->field('caption'); ?> 
     </li> 
    <?php endwhile; ?> 
    </ul> 
<?php endif; ?> 
Powiązane problemy