[英]Validation error: Stray end tag option
我收到錯誤消息:“流浪結束標記選項”。 我可以說它來自我的移動菜單。
由於某種原因,我的代碼在末尾添加了額外的標簽。 這是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>
更新您的此功能
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>
你這樣做是錯的。 使用縮進手動設置輸出格式,您將獲得以下信息:
<option value="">— Single Post Layouts
<option value="http://domain.com/mag/portfolio/future-semiotics/">—— Full Image Post</option>
</option>
</option>
此類應生成嵌套結構,而選項不應這樣嵌套
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.