Php 如何编辑侧边栏

Php 如何编辑侧边栏,php,wordpress,Php,Wordpress,我是wordpress的新手,但有人请我帮个忙,所以我想帮忙。 我有这样一张代码图,而且显示都很好。问题是,我需要在每个页面上添加不同的子菜单。所以我想如果(当前页面=='page')显示blablablablabla。。。 但在functions.php中,我发现只有这样一部分关于侧栏的代码可以保存菜单: function wp_hot_kindergarten_widgets_init() { global $theme_slug; $doc = new DOMDocume

我是wordpress的新手,但有人请我帮个忙,所以我想帮忙。 我有这样一张代码图,而且显示都很好。问题是,我需要在每个页面上添加不同的子菜单。所以我想如果(当前页面=='page')显示blablablablabla。。。 但在functions.php中,我发现只有这样一部分关于侧栏的代码可以保存菜单:

 function wp_hot_kindergarten_widgets_init() {
    global $theme_slug;
    $doc = new DOMDocument(); 
    $doc->load(FUNCTIONS_PHP_BASEPATH . DIRECTORY_SEPARATOR .'theme.xml');
    $doc->normalizeDocument();
    $XTheme     =  $doc->getElementsByTagName( "extension" )->item(0);
    $XPosEL = $XTheme->getElementsByTagName( "positions" )->item(0);
    $XPositions = $XPosEL->getElementsByTagName( "position" );  

    $all_layouts_str = '';

    $XConfig    = $XTheme->getElementsByTagName( "config" )->item(0);  
    $XFDS       = $XConfig->getElementsByTagName( "fields" )->item(0);  
    $XFieldSets = $XFDS->getElementsByTagName( "fieldset" );  
    foreach( $XFieldSets as $XFieldSet ) 
    {
        $XFields = $XFieldSet->getElementsByTagName( "field" );
        foreach( $XFields as $XField){
          if($XField->getAttribute("type") == 'designlayout'){
            $all_layouts_str .= (get_option($theme_slug.'_'.$XField->getAttribute("name")).'  ');
          }
        }
    }

    foreach($XPositions as $XPosition){
        if($XPosition->getAttribute('layout_embeded') == 'true' || strpos(strtolower($all_layouts_str),strtolower($XPosition->nodeValue).'=')){
            register_sidebar( array(
                'name' => ucfirst($XPosition->nodeValue),
                'id' => strtolower($XPosition->nodeValue),
                'description' =>  $XPosition->getAttribute("description"),
                'before_widget' => $XPosition->getAttribute("before_widget"),
                'after_widget' => $XPosition->getAttribute("after_widget"),
                'before_title' => $XPosition->getAttribute("before_title"),
                'after_title' => $XPosition->getAttribute("after_title")
            ));
        }
    }
}
并且在页面上显示为:

   dynamic_sidebar(ucfirst($mpostion[0]));

我应该如何,或者我可以在哪里添加我的if条件?很抱歉,这是我使用WordPress的第一步,我迷失了方向。

我相信您可以使用
wp\u nav\u menu()
函数根据页面显示菜单

Eg.
<?php
if (current_page == "xyz") {
    wp_nav_menu( 'menu' => 'xyz-menu' );
}
else if (current_page == "abc") {
    wp_nav_menu( 'menu' => 'abc-menu' );
}
?>

其中
xyz菜单
abc菜单
是您在后端创建的菜单。

与其修改任何功能,不如从“管理”面板创建不同的菜单并相应显示?我做到了!我从管理面板创建菜单。但所有菜单都是通过此功能显示的。此功能在每页上显示一个菜单,我无法从管理面板更改它。这就是为什么我开始寻找另一个解决方案。