【问题标题】:Wordpress Attachments from Media Library媒体库中的 Wordpress 附件
【发布时间】:2016-05-11 08:39:46
【问题描述】:

我的 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. &lt;?php $meta = wp_get_attachment_metadata($image-&gt;ID, true); echo '.$meta[width]."x".$meta[height].';?&gt;
  2. &lt;?php $description = $post-&gt;post_content; echo $description;?&gt;
  3. &lt;?php $image-&gt;post_title; ?&gt;

这是插件,供参考:

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

这些自定义分类法对我来说是一个新概念,因此我正在努力学习如何绕过它们。提前感谢您的帮助!

【问题讨论】:

  • 您是否尝试获取附加到帖子 ID(具有该 ID 的图像)的帖子元?
  • 我想这就是我在 #1 中尝试过的,对吧?
  • 我的意思是get_post_meta() :)

标签: wordpress tags attachment categories taxonomy


【解决方案1】:

知道了!下面的代码正在工作。我定义了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();
  ?>  

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-23
    • 2019-11-28
    • 1970-01-01
    相关资源
    最近更新 更多