Php 循环输出wordpress菜单项和子菜单项
更新:Php 循环输出wordpress菜单项和子菜单项,php,wordpress,Php,Wordpress,更新: <?php function render_links($page, $level = 0) { echo "<li>"; echo "<a href=''>" . get_the_title( $page ) . "</a>"; $children = get_pages("child_of=" . $page->id . "&parent=0"); if (!empty($children
<?php
function render_links($page, $level = 0) {
echo "<li>";
echo "<a href=''>" . get_the_title( $page ) . "</a>";
$children = get_pages("child_of=" . $page->id . "&parent=0");
if (!empty($children)) {
echo "<ul>";
foreach ($children as $c) {
render_links($c, $level + 1);
}
echo "</ul>";
}
echo "</li>";
}
echo "<ul>";
foreach (get_pages("parent=0") as $p) {
render_links($top_level);
}
echo "</ul>";
?>
Fatal error: Maximum function nesting level of '100' reached, aborting! in C:\wamp\www\yangtorp\wp-includes\cache.php on line
我想你应该这样做:
$children = get_pages("child_of=" . $page->id . "&parent=0");
if(!empty($children)){
回声“”;
foreach(儿童为$c){
渲染链接($c$level+1);
}
回声“
”;
}
//失踪案
否则{
回声“”;
}
<?php
function render_links($pge, $level = 0) {
echo "<li>";
echo "<a href=''>" . $pge->post_title . "</a>";
$children = get_pages( array( 'child_of' => $post->ID, 'sort_column' => 'post_date', 'sort_order' => 'desc' ) );
if (!empty($children) && $level != 2) {
echo "<ul class='sub-menu'>";
foreach ($children as $c) {
render_links($c, $level + 1);
}
echo "</ul>";
}
else{
echo "</li>";
}
}
echo "<ul id='menu-main' class='menu'>";
foreach (get_pages("parent=0") as $p) {
render_links($p);
}
echo "</ul>";
?>
$children = get_pages("child_of=" . $page->id . "&parent=0");
if (!empty($children)) {
echo "<ul>";
foreach ($children as $c) {
render_links($c, $level + 1);
}
echo "</ul>";
}
//missing else case
else{
echo "</li>";
}
<?php
function render_links($pge, $level = 0) {
echo "<li>";
echo "<a href=''>" . $pge->post_title . "</a>";
//set arguments for which properties and sorting order the children should get.
$args = array(
'child_of' => $pge->ID,
'parent' => $pge->ID,
'hierarchical' => 0,
'sort_column' => 'menu_order',
'sort_order' => 'asc'
);
// throw the arguments into the get_pages query
$children = get_pages($args);
if (!empty($children) && $level != 2) {
echo "<ul class='sub-menu'>";
foreach ($children as $c) {
render_links($c, $level + 1);
}
echo "</ul>";
}
else{
echo "</li>";
}
}
echo "<ul id='menu-main' class='menu'>";
foreach (get_pages("parent=0") as $p) {
render_links($p);
}
echo "</ul>";
?>