Afișează conținut dacă pagina părinte are pagini copil
Folosind această bucată de cod poți afișa conținut diferit în funcție de tipul paginii (părinte sau copil):
<?php
global $post;
if ( is_page() && $post->post_parent ) : ?>
Aceasta este o pagină copil.
<?php else : ?>
Aceasta este o pagină părinte.
<?php endif; ?>
Dar aș dori să adaug încă o condiție, astfel încât să pot avea conținut diferit dacă este o pagină părinte care are un copil sau o pagină părinte care nu are. Ar funcționa ceva de genul acesta? Dacă da, ce ar trebui să fie "XXX"?
<?php
global $post;
if ( is_page() && $post->post_parent ) : ?>
Aceasta este o pagină copil.
<?php elseif ( is_page() && XXX ) : ?>
Aceasta este o pagină părinte (cu unul sau mai mulți copii)
<?php else : ?>
Aceasta este o pagină părinte fără copii.
<?php endif; ?>
Mulțumesc anticipat!

Am folosit în final acest cod:
<?php
global $post;
$children = get_pages( array( 'child_of' => $post->ID ) );
if ( is_page() && $post->post_parent ) : ?>
Aceasta este o pagină copil.
<?php elseif ( is_page() && count( $children ) > 0 ) : ?>
Aceasta este o pagină părinte (cu unul sau mai mulți copii)
<?php else : ?>
Aceasta este o pagină părinte fără copii.
<?php endif; ?>

De asemenea, poți crea propria ta condiție condițională. În functions.php adaugă:
function my_is_parent() {
global $post;
$children = get_pages('child_of='.$post->ID);
if( count( $children ) > 0 ) {
$parent = true;
}
return $parent;
}
Și în condiția ta IF în loc de XXX adaugă: my_is_parent()
Desigur, poți denumi funcția altfel decât "my_is_parent" dacă dorești. Nu sunt sigur în privința acestui aspect, dar cred că nu ar fi prea sigur să folosești "is_parent" în cazul în care această funcționalitate ar fi inclusă în nucleul WordPress într-o zi.

Nu ar trebui să returneze $parent = true, o valoare booleană în loc de text?

@Trevor da, ai dreptate. Deși funcționează și cu valoarea text, am actualizat acum acest răspuns vechi de 3 ani :)

poți realiza acest lucru folosind
global $post;
$args = array (
'parent' => $post->ID
);
$children = get_pages( $args );
if ( is_page() && $post->post_parent ) : ?>
Aceasta este o pagină copil.
<?php elseif ( is_page() && count( $children ) > 0 ) : ?>
Aceasta este o pagină părinte (cu unul sau mai mulți copii)
<?php else : ?>
Aceasta este o pagină părinte fără copii.
<?php endif; ?>
și folosind count( $children ) > 0
în loc de XXX
