2

さて、ID 8の子であるすべてのページを検索し、これらのページのすべての添付ファイル(ギャラリー内)を順序付けられていないリストアイテムとして出力するコードを少し設定しました。これまでのところ、http: //goo.gl/eq4UFで効果を確認できます。

私が抱えている問題は、どの画像がどのページの下にあるかを簡単に識別できるように、各ページのタイトルを各ページの前に含める必要があることです。通常はこれを追加するだけですが、リストアイテムはすべて石積みを使用し、JSを使用してページ全体に配置されるため、リストの最初の画像の横に表示されることはありません。

したがって、ページのタイトルをすべてに追加します <li><ul>これにより、各画像でタイトルを実行できるようになりますが、これをwp getattachmentimage関数に含める方法がわかりません。両方とも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; ?>
4

1 に答える 1

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; ?>
于 2012-06-12T22:01:17.493 に答える