Php 如何编辑侧边栏
我是wordpress的新手,但有人请我帮个忙,所以我想帮忙。 我有这样一张代码图,而且显示都很好。问题是,我需要在每个页面上添加不同的子菜单。所以我想如果(当前页面=='page')显示blablablablabla。。。 但在functions.php中,我发现只有这样一部分关于侧栏的代码可以保存菜单:Php 如何编辑侧边栏,php,wordpress,Php,Wordpress,我是wordpress的新手,但有人请我帮个忙,所以我想帮忙。 我有这样一张代码图,而且显示都很好。问题是,我需要在每个页面上添加不同的子菜单。所以我想如果(当前页面=='page')显示blablablablabla。。。 但在functions.php中,我发现只有这样一部分关于侧栏的代码可以保存菜单: function wp_hot_kindergarten_widgets_init() { global $theme_slug; $doc = new DOMDocume
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菜单
是您在后端创建的菜单。与其修改任何功能,不如从“管理”面板创建不同的菜单并相应显示?我做到了!我从管理面板创建菜单。但所有菜单都是通过此功能显示的。此功能在每页上显示一个菜单,我无法从管理面板更改它。这就是为什么我开始寻找另一个解决方案。