我目前正在使用validator.w3,并得到了这样的错误:
Line 90, Column 1420: Stray start tag a.
…-home menu-item-18"><a href="http://www.perthtakeaways.info/">Home</a></option>
✉
Error Line 90, Column 1428: Stray end tag a.
…-home menu-item-18"><a href="http://www.perthtakeaways.info/">Home</a></option>
✉
Error Line 91, Column 180: Stray start tag a.
…enu-item-33"><a href="http://www.perthtakeaways.info/about/">About</a></option>
✉
Error Line 91, Column 189: Stray end tag a.
…enu-item-33"><a href="http://www.perthtakeaways.info/about/">About</a></option>
✉
Error Line 92, Column 200: Stray start tag a.
…="http://www.perthtakeaways.info/getting-started/">Getting Started</a></option>
✉
Error Line 92, Column 219: Stray end tag a.
…="http://www.perthtakeaways.info/getting-started/">Getting Started</a></option>
✉
Error Line 93, Column 190: Stray start tag a.
此错误来自名为nav.php的导航菜单,nav.php为:
<nav id="nav" role="navigation" class="col_4 omega">
<?php
$menu = wp_nav_menu(
array('topmenu' => 'Top Menu', 'fallback_cb' => 'purepress_nav_fallback', 'echo'=>0 )
);
$menu = str_replace("\n", "", $menu);
$menu = str_replace("\r", "", $menu);
echo $menu;
?>
<?php
wp_nav_menu(array(
'mobilemenu' =>'Mobile Menu',
'walker' => new Walker_Nav_Menu_Dropdown(),
'items_wrap' => '<select id="mobile-nav"><option value="/">Select Page</option>%3$s</select>',
));
?>
</nav><!-- #nav -->
由于wp-菜单是由wordpress代码自动生成的,所以validator.w3中显示的内容来自于wp_menu_template.php:
杂乱结束标记错误的代码是:
<div><ul id="menu-main-menu" class="menu"><li id="menu-item-18" class="menu-item menu-item-type-custom menu-item-object-custom current-menu-item current_page_item menu-item-home menu-item-18"><a href="http://www.perthtakeaways.info/">Home</a></li><li id="menu-item-33" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-33"><a href="http://www.perthtakeaways.info/about/">About</a></li><li id="menu-item-36" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-36"><a href="http://www.perthtakeaways.info/getting-started/">Getting Started</a></li><li id="menu-item-34" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-34"><a href="http://www.perthtakeaways.info/contact-us/">Contact Us</a></li><li id="menu-item-35" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-35"><a href="http://www.perthtakeaways.info/faqs/">FAQs</a></li><li id="menu-item-102" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-102"><a title="Member’s Login" href="http://www.perthtakeaways.info/wp-login.php">Login</a></li></ul></div> <select id="mobile-nav"><option value="/">Select Page</option><option value="http://www.perthtakeaways.info/" class="menu-item menu-item-type-custom menu-item-object-custom current-menu-item current_page_item menu-item-home menu-item-18"><a href="http://www.perthtakeaways.info/">Home</a></option>
这段代码来自wp_menu_template.php,我很好奇为什么会发生这个错误?我认为代码没有什么问题,因为它是由wordpress自动生成的。
发布于 2014-09-24 19:14:52
问题是,您正在获取PHP代码并将其放入验证器中。这不对。
PHP代码应该在web服务器上运行以生成HTML。由此产生的HTML可以提供给验证器。一种方法是在http://validator.w3.org/验证器中输入PHP页面的URL,或者您可以保存生成的HTML并在验证器中使用“validator”。
https://stackoverflow.com/questions/26029638
复制