|
在WordPress中,dl dt dd是用来创建定义列表(Definition List)的HTML元素。dl是定义列表(definition list)的容器,dt是定义条目(definition term),而dd是定义描述(definition description)。
以下是一些使用dl dt dd在WordPress中创建菜单的方法:
1、使用walker类来创建自定义菜单:
class Description_Walker_Nav_Menu extends Walker_Nav_Menu {
function start_el(&$output, $item, $depth = 0, $args = array(), $id = 0) {
$indent = ($depth) ? str_repeat("\t", $depth) : '';
$class_names = $value = '';
$classes = empty($item->classes) ? array() : (array) $item->classes;
$output .= "\n$indent<dl>\n";
$output .= "\t<dt><a href='{$item->url}'>";
$output .= $args->has_children ? ' ' : $item->title;
$output .= "</a></dt>\n";
if($args->has_children) {
$output .= "\t<dd class='sub-menu'>\n";
$output .= $this->start_lvl($depth + 1, $args);
$output .= "\t</dd>\n";
}
$output .= $indent . "</dl>\n";
}
}
然后在你的主题的functions.php文件中使用这个walker类来注册你的菜单:
add_action('init', 'register_my_menu');
function register_my_menu() {
register_nav_menu('my-menu', __('My Menu'));
}
add_filter('wp_nav_menu_args', 'my_wp_nav_menu_args');
function my_wp_nav_menu_args($args = '') {
$args['walker'] = new Description_Walker_Nav_Menu();
return $args;
}
2、然后在你的主题中使用wp_nav_menu()函数来调用你的菜单:
class Description_Walker_Nav_Menu extends Walker_Nav_Menu {
function start_el(&$output, $item, $depth = 0, $args = array(), $id = 0) {
$indent = ($depth) ? str_repeat("\t", $depth) : '';
$class_names = $value = '';
$classes = empty($item->classes) ? array() : (array) $item->classes;
$output .= "\n$indent<dl>\n";
$output .= "\t<dt><a href='{$item->url}'>";
$output .= $args->has_children ? ' ' : $item->title;
$output .= "</a></dt>\n";
if($args->has_children) {
$output .= "\t<dd class='sub-menu'>\n";
$output .= $this->start_lvl($depth + 1, $args);
$output .= "\t</dd>\n";
}
$output .= $indent . "</dl>\n";
}
}
然后在你的主题的functions.php文件中使用这个walker类来注册你的菜单:
[backcolor=rgba(245, 246, 249, 0.4)]
[backcolor=rgba(245, 246, 249, 0.4)]add_action('init', 'register_my_menu');
function register_my_menu() {
register_nav_menu('my-menu', __('My Menu'));
}
add_filter('wp_nav_menu_args', 'my_wp_nav_menu_args');
function my_wp_nav_menu_args($args = '') {
$args['walker'] = new Description_Walker_Nav_Menu();
return $
|
|