WordPress 指定した固定ページIDを含む子・孫ページIDの配列を取得する方法

指定した固定ページのページID(投稿ID)を含む子ページ・孫ページのページIDを配列で取得する方法を書いていきます。

親固定ページIDを含む子・孫ページIDの配列を取得する

/**
 * 指定した固定ページIDを含む子・孫ページIDの配列を取得する
 */
function get_child_of_ids($parent_id)
{
    //子孫のページを取得するための親固定ページのID
    $args     = ['child_of' => $parent_id ];
    
    //固定ページを取得する
    $pages    = get_pages($args);
    
    //固定ページID格納用の配列を宣言
    $page_ids = array();
    
    //子ページがあり配列で取得出来ていれば処理開始
    if ( is_array($pages) && count($pages) ) {
    
        foreach ($pages as $page) {
            //固定ページIDのみ配列に追加
            $page_ids[]= $page->ID;
        }
    }
        
    //親固定ページIDを配列に追加
    $page_ids[] = $parent_id;
    
    //
    return $page_ids;
}

動作環境情報

エックスサーバー(x10)
PHP 7.3.16
MySQL 5.7
WordPress 5.4.2

コメント

タイトルとURLをコピーしました