wp_list_pages()を利用してページのリストを出したいと考えています。
ページには親-子の関係があって、特定の親Aを基準とするリストを抽出します。
この時、親Aに子Aを親とする階層があり、この子Aを親とするリストは除外したいと思います。
この場合、親AのIDが1、子AのIDが3だったとすれば、
wp_list_pages('title_li=&child_of=1&exclude_tree=3');
で実現できるのですが、複数サイトで同じテンプレートを流用するにはページIDが変わってしまうため利用できません。
このページリストは親Aの下層にあるページにしか表示しないという条件で、親Aは
$ancestor = array_pop( get_post_ancestors( $post->ID ) );
wp_list_pages('title_li=&child_of=' . $ancestor . '&exclude_tree=3');
でIDを取得して表示できましたが、子AのIDを取得できません。
条件として子Aのページタイトルは違うサイトでも必ず同じ(英数文字のみで構成、例:a_pagesなど)なので、ループなどで子Aのページタイトルを取得しIDを割り出せば可能かと思いましたが、ページタイトルからどのようにして該当ページのIDを取得すればよろしいのでしょうか。
また、変にループを重ねたり、あまり回数の多いループを構成するのも負荷が高くなるのではないかと思い、なにか良い関数でもないかと探しておりますがなかなか見つかりません・・・
良い方法がありましたらご教授お願いいたします。