我想在ul
标记wordpress侧边栏周围添加div包装标记。
默认情况下,我会看到我的侧边栏代码。
<div id="meta-40" class="widget HTML widget_meta">
<title>META</title>
<ul>
<li>content</li>
<li>content</li>
</ul>
<div>
我想要这样的事情:
<div id="meta-40" class="widget HTML widget_meta">
<title>META</title>
<div class="THIS IS THE WRAPPER WHAT I WANT">
<ul>
<li>content</li>
<li>content</li>
</ul>
</div>
<div>
我的PHP代码:
if ( function_exists('register_sidebar') ) {
register_sidebar(array(
'name' => 'Right Sidebar bottom',
'id' => 'sidebar-1',
'description' => ' no description',
'before_widget' => '<div id="%1$s" class="%2$s">',
'after_widget' => '</div',
'before_title' => '<h2>',
'after_title' => '</h2>',
));
}
<div class="sidebar-wrapper">
<div class="sidebar section" id="sidebar">
<?php if(!function_exists ('dynamic_sidebar') || !dynamic_sidebar ('sidebar-1') ) ?>
</div>
</div>
答案 0 :(得分:1)
您应该只需修改已注册的侧边栏即可。注意:我没有在下面的代码中检查\ n是否有效。
'after_widget' => '</div></div>',
'after_title' => '</h2>\n <div class="THIS IS THE WRAPPER WHAT I WANT">',
答案 1 :(得分:1)
做以下两件事:
'after_title' => '</h2><div class="THIS IS THE WRAPPER WHAT I WANT">',
after_widget' => '</div></div>',
答案 2 :(得分:0)
虽然使用类似jQuery的东西来包装你的子菜单会很容易,但为此目的使用jQuery并不是一个好习惯。将它放在functions.php中:
class Child_Wrap extends Walker_Nav_Menu
{
function start_lvl(&$output, $depth)
{
$indent = str_repeat("\t", $depth);
$output .= "\n$indent<div class=\"custom-sub\"><ul class=\"sub-menu\">\n";
}
function end_lvl(&$output, $depth)
{
$indent = str_repeat("\t", $depth);
$output .= "$indent</ul></div>\n";
}
}
我假设您的菜单是在标题中生成的,所以请转到header.php(或任何使用wp_nav_menu函数的文件)并查找以“wp_nav_menu”开头的任何内容。
由于我没有任何代码可以查看,我只能猜测它正在使用的参数(如果有的话)。如果它看起来完全像“wp_nav_menu()”,括号之间没有任何内容,那么将其更改为以下内容:
wp_nav_menu(array('walker' => new Child_Wrap()))