Mostrare contenuto se la pagina genitore ha pagine figlie
Utilizzando questo pezzo di codice puoi mostrare contenuti diversi a seconda che sia una pagina figlia o meno:
<?php
global $post;
if ( is_page() && $post->post_parent ) : ?>
Questa è una pagina figlia.
<?php else : ?>
Questa è una pagina genitore.
<?php endif; ?>
Ma vorrei aggiungere un'altra condizione, in modo da poter avere contenuti diversi se è una pagina genitore che ha una pagina figlia, o una pagina genitore che non ne ha. Funzionerebbe qualcosa come questo sotto? Se sì, cosa dovrebbe essere "XXX"?
<?php
global $post;
if ( is_page() && $post->post_parent ) : ?>
Questa è una pagina figlia.
<?php elseif ( is_page() && XXX ) : ?>
Questa è una pagina genitore (con una o più pagine figlie)
<?php else : ?>
Questa è una pagina genitore senza pagine figlie.
<?php endif; ?>
Grazie in anticipo!

Alla fine ho utilizzato questo codice:
<?php
global $post;
$children = get_pages( array( 'child_of' => $post->ID ) );
if ( is_page() && $post->post_parent ) : ?>
Questa è una pagina figlia.
<?php elseif ( is_page() && count( $children ) > 0 ) : ?>
Questa è una pagina genitore (con una o più pagine figlie)
<?php else : ?>
Questa è una pagina genitore senza figli.
<?php endif; ?>

Puoi anche creare il tuo conditional tag personalizzato. In functions.php aggiungi:
function my_is_parent() {
global $post;
$children = get_pages('child_of='.$post->ID);
if( count( $children ) > 0 ) {
$parent = true;
}
return $parent;
}
E nel tuo IF invece di XXX aggiungi: my_is_parent()
Ovviamente puoi chiamarla diversamente da "my_is_parent" se preferisci. Non sono sicuro di questo aspetto, ma immagino che non sia molto "future proof" usare "is_parent" nel caso un giorno venga incluso nel core.

Non dovrebbe restituire $parent = true, un valore booleano invece del testo?

@Trevor hai ragione. Anche se funziona anche con il valore di testo, ho aggiornato questa risposta di 3 anni fa ora :)

puoi ottenere questo risultato utilizzando
global $post;
$args = array (
'parent' => $post->ID
);
$children = get_pages( $args );
if ( is_page() && $post->post_parent ) : ?>
Questa è una pagina figlia.
<?php elseif ( is_page() && count( $children ) > 0 ) : ?>
Questa è una pagina genitore (con uno o più figli)
<?php else : ?>
Questa è una pagina genitore senza figli.
<?php endif; ?>
e utilizzando count( $children ) > 0
invece del tuo XXX
