このコードを使用して、子ページかどうかに応じてコンテンツを表示できます。
<?php
global $post;
if ( is_page() && $post->post_parent ) : ?>
This is a child-page.
<?php else : ?>
This is a parent-page.
<?php endif; ?>
しかし、もう1つステートメントを追加したいと思います。そうすれば、それが子を持つ親ページ、または持たない親ページの場合、異なるコンテンツを持つことができます。以下のようなものでうまくいくでしょうか。もしそうなら、 "XXX"は何でしょうか?
<?php
global $post;
if ( is_page() && $post->post_parent ) : ?>
This is a child-page.
<?php elseif ( is_page() && XXX ) : ?>
This is a parent-page (with one or more children)
<?php else : ?>
This is a parent page without children.
<?php endif; ?>
前もって感謝します!
私はこのコードを使用してしまいました:
<?php
global $post;
$children = get_pages( array( 'child_of' => $post->ID ) );
if ( is_page() && $post->post_parent ) : ?>
This is a child-page.
<?php elseif ( is_page() && count( $children ) > 0 ) : ?>
This is a parent-page (with one or more children)
<?php else : ?>
This is a parent page without children.
<?php endif; ?>
独自のコンディショナルタグを作成することもできます。 functions.php addに:
function my_is_parent() {
global $post;
$children = get_pages('child_of='.$post->ID);
if( count( $children ) > 0 ) {
$parent = true;
}
return $parent;
}
そして、あなたのIFの代わりにXXXを追加してください:my_is_parent()
あなたが望むなら、もちろん "my_is_parent"の代わりに他の名前を付けることもできます。この部分はよくわかりませんが、 "is_parent"を使用することが、いつの日かコアに含まれるようになるのであれば、実際には機能的な証明にはなりません。
あなたはそれを使ってそれを達成することができます
global $post;
$args = array (
'parent' => $post->ID
);
$children = get_pages( $args );
if ( is_page() && $post->post_parent ) : ?>
This is a child-page.
<?php elseif ( is_page() && count( $children ) > 0 ) : ?>
This is a parent-page (with one or more children)
<?php else : ?>
This is a parent page without children.
<?php endif; ?>
xXXの代わりにcount( $children ) > 0
を使用