2016-05-11 16 views
0

Meine Wordpress-Anhang Bilder haben Kategorien und Tags. Ich möchte diese Informationen in einer Fotogalerie aufrufen.Wordpress-Anhänge aus der Medienbibliothek

Gute Nachrichten: die richtigen Bilder erscheinen, wenn sie in der Schleife aufgerufen werden. Schlechte Nachrichten: Ich habe Probleme, die spezifischen Daten in der Galerie aufzurufen. Die Probleme sind in allen Kappen unter:

<?php 
$the_query = new WP_Query(array(
    'post_type' => 'attachment', 
    'post_status' => 'inherit', 
    'category_name' => 'architecture' 
    )); 
while ($the_query->have_posts()) : 
    $the_query->the_post(); 
?> 
<figure class="gallery-photo" itemprop="associatedMedia" itemscope itemtype="http://schema.org/ImageObject" data-groups='["all", "PHP ATTACHMENT TAG"]'> 
    <a class="photo-link" href="<?php wp_get_attachment_image(); ?>" itemprop="contentUrl" data-size="CALL PHP ATTACHMENT IMAGE WIDTH & HEIGHT"> 
     <img src="<?php wp_get_attachment_url ('full'); ?>" itemprop="thumbnail" /> 
     <figcaption itemprop="caption description">PHP ATTACHMENT CAPTION</figcaption> 
     <div class="photo-title"><h2>PHP ATTACHMENT IMAGE TITLE</h2></div> 
    </a> 
</figure> 
<?php 
endwhile; 
wp_reset_postdata(); 
?> 

Einige Dinge, die ich versucht, aber hat nicht funktioniert:

  1. <?php $meta = wp_get_attachment_metadata($image->ID, true); echo '.$meta[width]."x".$meta[height].';?>
  2. <?php $description = $post->post_content; echo $description;?>
  3. <?php $image->post_title; ?>

Hier die ist plugin, als Referenz:

// Custom media taxonomies 
function add_categories_to_attachments() { 
    register_taxonomy_for_object_type('category', 'attachment'); 
} 
add_action('init' , 'add_categories_to_attachments'); 

function add_tags_to_attachments() { 
    register_taxonomy_for_object_type('post_tag', 'attachment'); 
} 
add_action('init' , 'add_tags_to_attachments'); 

Diese benutzerdefinierten Taxonomien sind für mich ein neues Konzept, also versuche ich, mich mit ihnen vertraut zu machen. Vielen Dank im Voraus für jede Hilfe!

+0

Haben Sie versucht, die Post-Meta, die zur Post-ID (Bild mit dieser ID) beigefügt ist? –

+0

Ich denke, das habe ich in # 1 probiert, oder? – BlueHelmet

+0

Ich meinte als 'get_post_meta()' :) –

Antwort

0

Verstanden! Der folgende Code funktioniert. Ich definierte wp_prepare_attachment_for_js(); und get_the_category(), dann verwendete sie für die Funktionen innerhalb von echo.

Im Wesentlichen habe ich eine Abfrage, die alle Medienbibliothek Anhänge auflistet, die unter der Kategorie "Fotografie" fallen. Dann ruft es Informationen über jeden Anhang (Titel, Überschrift, Breite, Höhe, URL, Kategoriename) innerhalb des HTML-Containers der Galerie ab.

<?php 
    $the_query = new WP_Query(array(
    'post_type' => 'attachment', 
    'post_status' => 'inherit', 
    'category_name' => 'photography' 
    )); 

    while ($the_query->have_posts()) : 
    $the_query->the_post(); 
    ?> 
    <?php 
$attachment_data = wp_prepare_attachment_for_js($attachment->ID); 
$category = get_the_category($attachment->ID); 
     echo '<figure class="gallery-photo" itemprop="associatedMedia" itemscope itemtype="http://schema.org/ImageObject" data-groups='. esc_attr('["all","'.$category[0]->cat_name.'"]').'>'; 
     echo'<a class="photo-link" href="'.$attachment_data['url'].'" itemprop="contentUrl" data-size="'.$attachment_data['width'].'x'.$attachment_data['height'].'">'; 
     echo'<img src="'.wp_get_attachment_url ('medium').'" itemprop="thumbnail"/>'; 
     echo'<div class="photo-title"><h2>'.$attachment_data['title'].'</h2></div></a>'; 
     echo'<figcaption itemprop="caption description">'.$attachment_data['caption'].'</figcaption></figure>';?> 
    <?php 
    endwhile; 
    wp_reset_postdata(); 
    ?> 
Verwandte Themen