Wordpress - 在'wp get attachment image'中包含页面标题

时间:2012-06-12 21:49:31

标签: php wordpress

好的,我已经设置了一些代码,用于搜索ID为8的子页面的所有页面,然后输出这些页面中的所有附件(在图库中)作为无序列表项。到目前为止,您可以在此处查看效果http://goo.gl/eq4UF

我遇到的问题是我需要在每个页面之前包含每个页面的标题,以便您可以轻松识别哪个图像位于哪个页面下方。通常情况下我会添加它,但列表项使用砌体并使用一些JS定位在整个页面上,因此它们永远不会出现在列表中的第一个图像旁边。

因此,我会将页面标题添加到每个页面 <li>中的<ul>允许标题与每张图片一起运行,但我不知道如何将其包含在wp get attachment image函数中。 the_titlewp_title都不在此循环中工作。 apply_filters( 'the_title', $attachment->post_title );显然会获取图片标题,但获取页面标题有什么好处吗?

提前致谢并希望这是有道理的, [R

<?php $postslist = get_pages('number=9999&sort_order=DESC&sort_column=post_date&child_of=8');
foreach ($postslist as $post) :
setup_postdata($post); ?>
<ul class="main-projects-list">
<?php

$args = array(
   'post_type' => 'attachment',
   'numberposts' => -1,
   'post_status' => null,
   'post_parent' => $post->ID,
   'orderby' => 'menu_order',
   'order' => 'ASC',
  );

  $attachments = get_posts( $args );
     if ( $attachments ) {
        foreach ( $attachments as $attachment ) {
           echo '<li class="each-image">';
           echo wp_get_attachment_image( $attachment->ID, 'large' );
           echo '<p>';
           echo apply_filters( 'the_title', $attachment->post_title );
           echo '</p></li>';
          }
     }

?>
</ul>
<?php endforeach; ?>

1 个答案:

答案 0 :(得分:2)

你可以试试这个:

<?php $postslist = get_pages('number=9999&sort_order=DESC&sort_column=post_date&child_of=8');
foreach ($postslist as $post) :
setup_postdata($post); ?>
<ul class="main-projects-list">
<?php

$args = array(
   'post_type' => 'attachment',
   'numberposts' => -1,
   'post_status' => null,
   'post_parent' => $post->ID,
   'orderby' => 'menu_order',
   'order' => 'ASC',
  );

  $attachments = get_posts( $args );
     if ( $attachments ) {
        $post_title = get_the_title($post->ID); // We get the post title
        foreach ( $attachments as $attachment ) {
           $img_title = apply_filters( 'the_title', $post_title . ' - ' . $attachment->post_title ); // We create the image title with the 2 strings
           echo '<li class="each-image">';
           echo wp_get_attachment_image( $attachment->ID, 'large' , false, array('title' => $img_title));
           echo '<p>';
           echo $img_title;
           echo '</p></li>';
          }
     }

?>
</ul>
<?php endforeach; ?>