Steamer Lane Studio技術備忘録WordPress

WordPressの親子関係のある固定ページの親ページで子ページが奇数の場合の属性付与

wordpress WordPressの親子関係のある固定ページの親ページで子ページが奇数の場合の属性付与 作成日: 2025年7月17日

スマホなら縦一列だから問題ないが、PCなどワイドのあるデバイスでの表示でrow並びにした場合の端数=この場合は2列として、奇数の場合のカラム落ちを無くすために50%ワイド2列に対し先頭を100%ワイドにしたいって場合。
最後を100%にするならCSSのみでできるが、先頭の場合奇数で先頭の指定ができないので、ループで数えて属性付与で対処。

改修などで偶数ものが増えてカラムどうするか?ってのは間々ある。

<?phpglobal $post;

// 現在の投稿(ページ)の子ページを取得$child_pages = get_pages(array('child_of' => $post->ID,'parent' => $post->ID, // 親ページが現在のページであるものに限定'post_type' => 'page','post_status' => 'publish'));

// 取得した子ページの数をカウント$child_count = count($child_pages);

// クラス修飾子を初期化$section_class_modifier = '';

// 子ページの数が奇数であるかを判定し、奇数の場合にのみクラス修飾子を設定if ( $child_count % 2 !== 0 ) {$section_class_modifier = ' odd'; // 半角スペースを含めて設定}?><?php echo esc_attr($section_class_modifier); ?>仕組みは子ページ数えて2で割って結果0なら何もしないが0以外なら奇数だからoddってクラスを付ける。
後はclass=”odd”のfirst-of-typeは100%ワイドって指定すればOK。