我正在使用以下代码添加一个子菜单,该子菜单仅显示当前顶级父级和任何子页面(如果在其父级内)。它直接在sidebar.php中使用时有效,但当我将它包装在一个函数中并将其放在functions.php中时,它只显示我所有的顶级菜单项而不是活动的父项。我怎样才能让它发挥作用?
在侧边栏中工作:
<?php
$child_of_value = ( $post->post_parent ? $post->post_parent : $post->ID );
$depth_value = ( $post->post_parent ? 2 : 1 );
$wp_list_pages_args = array(
'child_of' => $child_of_value,
'depth' => $depth_value,
'title_li' => '<a href="'.get_permalink($post->post_parent).'">'.get_the_title($post->post_parent).'</a>'
);
wp_list_pages( $wp_list_pages_args );
?>
在functions.php中不起作用
function page_submenu() {
$child_of_value = ( $post->post_parent ? $post->post_parent : $post->ID );
$depth_value = ( $post->post_parent ? 2 : 1 );
$wp_list_pages_args = array(
'child_of' => $child_of_value,
'depth' => $depth_value,
'title_li' => '<a href="'.get_permalink($post->post_parent).'">'.get_the_title($post->post_parent).'</a>'
);
wp_list_pages( $wp_list_pages_args );
}
答案 0 :(得分:0)
我需要在函数中添加global $post;
。它有效!