Mostrar contenido si la página padre tiene hijos
Usando este fragmento de código puedes mostrar contenido dependiendo si es una página hija o no:
<?php
global $post;
if ( is_page() && $post->post_parent ) : ?>
Esta es una página hija.
<?php else : ?>
Esta es una página padre.
<?php endif; ?>
Pero me gustaría agregar una condición más, para poder tener contenido diferente si es una página padre que tiene hijos, o una página padre que no los tiene. ¿Funcionaría algo como esto de abajo? Si es así, ¿qué debería ser "XXX"?
<?php
global $post;
if ( is_page() && $post->post_parent ) : ?>
Esta es una página hija.
<?php elseif ( is_page() && XXX ) : ?>
Esta es una página padre (con uno o más hijos)
<?php else : ?>
Esta es una página padre sin hijos.
<?php endif; ?>
¡Gracias de antemano!

Terminé usando este código:
<?php
global $post;
$children = get_pages( array( 'child_of' => $post->ID ) );
if ( is_page() && $post->post_parent ) : ?>
Esta es una página hija.
<?php elseif ( is_page() && count( $children ) > 0 ) : ?>
Esta es una página padre (con uno o más hijos)
<?php else : ?>
Esta es una página padre sin hijos.
<?php endif; ?>

También podrías crear tu propia etiqueta condicional. En functions.php añade:
function my_is_parent() {
global $post;
$children = get_pages('child_of='.$post->ID);
if( count( $children ) > 0 ) {
$parent = true;
}
return $parent;
}
Y en tu IF en lugar de XXX añade: my_is_parent()
Por supuesto, podrías nombrarla de otra forma en lugar de "my_is_parent" si lo prefieres. No estoy seguro de esta parte, pero supongo que no sería muy a prueba de futuras actualizaciones usar "is_parent" por si algún día se incluye en el núcleo de WordPress.

¿No debería esto devolver $parent = true, un valor booleano en lugar de texto?

@Trevor sí, tienes razón. Aunque funciona con el valor de texto también, pero actualicé esta respuesta de hace 3 años ahora :)

puedes lograr eso usando
global $post;
$args = array (
'parent' => $post->ID
);
$children = get_pages( $args );
if ( is_page() && $post->post_parent ) : ?>
Esta es una página hija.
<?php elseif ( is_page() && count( $children ) > 0 ) : ?>
Esta es una página padre (con uno o más hijos)
<?php else : ?>
Esta es una página padre sin hijos.
<?php endif; ?>
y usando count( $children ) > 0
en lugar de tu XXX
