我在wordpress网站上有一个主菜单,使用wp_nav_menu作为4个父项,每个都有几个子菜单项。
在特定模板上,我想显示其中一个父项的子菜单项。例如:
在我的模板中,我想显示父项目3的列表项目1和列表项目2.每个父项目都有一个唯一的ID。在'pages'上我使用以下代码来完成它:
<?php
if($post->post_parent)
$children = wp_list_pages("title_li=&child_of=".$post->post_parent."&echo=0");
else
$children = wp_list_pages("title_li=&child_of=".$post->ID."&echo=0");
if ($children) { ?>
<ul id="side-page-menu">
<?php echo $children; ?>
</ul>
<?php } ?>
但这似乎不适用于单个帖子(与页面相比)。
谢谢!
答案 0 :(得分:0)
试过这个
<ul>
<?php wp_list_pages('title_li=<h2>MAIN NAV</h2>&depth=1' ); ?>
</ul>
<?php
if ($post->post_parent == 0) {
$children = wp_list_pages("title_li=&child_of=".$post->ID."&echo=0");
$parentpage = $wpdb->get_row("SELECT ID, post_title, post_name FROM $wpdb->posts WHERE ID = '".$post->ID."'");
}
if ($post->post_parent != 0) {
$next_post_parent = $post->post_parent;
while ($next_post_parent != 0) {
$children = wp_list_pages("title_li=&child_of=".$next_post_parent."&echo=0");
$parentpage = $wpdb->get_row("SELECT ID, post_title, post_parent, post_name FROM $wpdb->posts WHERE ID = '".$next_post_parent."'");
$next_post_parent = $parentpage->post_parent;
}
}
?>
<?php if ($children) { ?>
<ul>
<li>SUBNAV FOR: <a href="<?php echo get_permalink($parentpage->ID); ?>"><?php echo $parentpage->post_title; ?></a>
<ul>
<?php echo $children; ?>
</ul>
</li>
</ul>
<?php } ?>