引数に親ページIDを指定するショートコードでサイトマップを作って、下図の様に親タイトルと子ページ一覧をセットで表示します。
PHP(functions.phpに書きます)
function get_sitemap($atts){
$children= null;
$children = wp_list_pages('title_li=&child_of='.$atts[0].'&echo=0');
return '<h3><a href="'.get_permalink($atts[0]).'">'. get_post($atts[0])->post_title.'</a></h3><ul>'.$children.'</ul>';
}
add_shortcode('sitemap','get_sitemap');
※パラメータで細かく指定できるので詳しくは「テンプレートタグ/wp list pages|WordPress Codex」をご参照ください。
CSS
下記、適当に更新して使ってください。
ul li ul { margin-top: 2px;}
ul li ul li { position: relative; list-style: none;}
ul li ul li::before,
ul li ul li::after{
content: "";
position: absolute;
width: 10px;
left: -16px;
}
ul li ul li::before {
top: -7px;
height: calc(100% + 7px);
border-left: 1px solid #CDCDCD;
}
ul li ul li:last-child::before { height: calc(1em + .25em);}
ul li ul li::after {
top: 12px;
border-bottom: 1px solid #CDCDCD;
}
ショートコード呼び出し
[sitemap ●]
※●には親ページIDを入力します。
コメントを残す