子ページに兄弟があるかどうかを確認してください
子ページに兄弟ページがあるかどうかを確認する方法はありますか。つまり、それらが同じ親ページに属しているかどうかです。そうであれば、各子ページ内の兄弟ページのリストを表示します。
例:
Science books
Book 1
Book 2
Book 3
私が中にいるとき:
Book 1
リスト形式で表示したい:
Book 2
Book 3
出来ますか?
もちろん可能です。 docsでwp_list_pages
を見てください。
だから、このようなものはトリックを行います:
<?php
global $post; // assuming there is global $post already set in your context
wp_list_pages( array(
'exclude' => $post->ID, // exclude current post
'parent' => $post->post_parent // get only children of parent of current post
) );
?>
そしてもしあなたがカスタムHTMLを使いたいのなら、このようなものが助けになるでしょう:
<?php
global $post; // assuming there is global $post already set in your context
if ( $post->post_parent ) : // if it's a child
$siblings = new WP_Query( array(
'post_type' => 'page',
'post_parent' => $post->post_parent,
'post__not_in' => array( $post->ID )
) );
if ( $siblings->have_posts() ) :
?>
<ul>
<?php while ( $siblings->have_posts() ) : $siblings->the_post(); ?>
<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
<?php endwhile; wp_reset_postdata(); ?>
</ul>
<?php
endif;
endif;
?>