验证错误:错误结束标记选项

时间:2014-05-15 04:14:16

标签: php html wordpress

我收到错误:" Stray end tag选项。"我可以告诉它来自我的手机菜单。

出于某种原因,我的代码最后添加了额外的标签。以下是w3验证网站向我展示的一些预览。

<option value="">— Single Post Layouts<option value="http://domain.com/mag/portfolio/future-semiotics/">—— Full Image Post</option></option></option>

奇怪的是,它并没有将它添加到每一个选项中。

我一直在搜索我的代码,我在自定义函数文件中找到了它。

class gbx_Walker_Nav_Menu_Dropdown extends Walker_Nav_Menu {

function start_lvl(&$output, $depth) {
    $indent = str_repeat("\t", $depth); // don't output children opening tag (`<ul>`)
}

function end_lvl(&$output, $depth) {
    $indent = str_repeat("\t", $depth); // don't output children closing tag
}

function start_el(&$output, $item, $depth, $args) {
    $url = '#' !== $item->url ? $item->url : '';
    $item->title = str_repeat("—", $depth).' '.$item->title; 
    $output .= '<option value="' . $url . '">' . $item->title;
}

function end_el(&$output, $item, $depth) {
    $output .= "</option>"; // replace closing </li> with the option tag
}
}

对于我需要更改以解决此问题的任何帮助都会很棒。

编辑:此代码在我的header.php中我不知道它是否会有所帮助。

<div class="mobile-nav-holder visible-xs">
    <?php wp_nav_menu(array('theme_location' => 'main_navigation', 'container_class' => 'mobile-mainmenu', 'walker' => new gbx_Walker_Nav_Menu_Dropdown(),'items_wrap' => '<select><option selected>Navigation</option>%3$s</select>')); ?>
</div>

2 个答案:

答案 0 :(得分:1)

更新您的此功能

function start_el(&$output, $item, $depth, $args) {
    $url = '#' !== $item->url ? $item->url : '';
    $item->title = str_repeat("—", $depth).' '.$item->title; 
    $output .= '<option value="' . $url . '">' . $item->title.'</option>';
}

并删除或不使用function end_el(&$output, $item, $depth)

它会处理你的输出

<option value="">— Single Post Layouts</option>
<option value="http://domain.com/mag/portfolio/future-semiotics/">—— Full Image Post</option>

答案 1 :(得分:0)

你做错了。使用缩进手动格式化输出,您将得到:

    <option value="">— Single Post Layouts
        <option value="http://domain.com/mag/portfolio/future-semiotics/">—— Full Image Post</option>
    </option>
</option>

这个类应该生成嵌套结构,并且选项不应该像这样嵌套

相关问题