2016-05-11 10 views
0

私のWordPress添付画像にはカテゴリとタグがあります。私はこの情報をフォトギャラリーの中で呼んでいます。メディアライブラリのWordpress添付ファイル

良いニュース:ループで呼び出されたときに正しい画像が表示されます。悪いニュース:ギャラリー内の特定のデータを呼び出す際に問題があります。問題は、以下のすべて大文字である:

<?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(); 
?> 

私が試みたが、うまくいきませんでしたいくつかの点:

  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; ?>

ここにはありますプラグイン、参考:

// 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'); 

これらのカスタムタクソノミは私にとって新しいコンセプトなので、私はそれらの周りに自分の道を学びたいと思っています。助けをあらかじめありがとう!

+0

ポストID(ID付きの画像)に添付されているポストメタを取得しようとしましたか? –

+0

私は#1で試したことだと思いますよね? – BlueHelmet

+0

私は 'get_post_meta()'としています:) –

答えて

0

ありがとうございました!以下のコードは動作しています。私はwp_prepare_attachment_for_js();get_the_category()を定義し、echoの内部の関数に使用しました。

本質的に、「写真」カテゴリに該当するすべてのメディアライブラリ添付ファイルを一覧表示するクエリがあります。次に、ギャラリーhtmlコンテナ内の各添付ファイル(タイトル、キャプション、幅、高さ、URL、カテゴリ名)に関する情報を取得します。

<?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(); 
    ?> 
関連する問題