0

我正在使用以下代码添加一个子菜单,该子菜单仅显示当前顶级父页面和任何子页面(如果在其父页面中)。当直接在 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 );
}
4

1 回答 1

0

我需要添加global $post;到该功能。有用!

于 2013-09-20T16:22:27.647 回答