我喜欢WordPress。我也喜欢干净的语义HTML。不幸的是,一些标准WordPress主题函数返回有点不整洁的代码。对我来说,主要罪魁祸首是wp_list_pages()
和新的WP_NAV_MENU();两者都返回通常用于页面菜单和站点地图的页面链接的无序列表,例如
<?php wp_nav_menu(array( 'depth'=>2 )); ?>
登录后复制
登录后复制
该代码导致此HTML憎恶的默认安装房屋,关于并联系页面:
<div >
<ul>
<li >
<a href="http://mysite.com/" title="Home">Home</a>
</li>
<li >
<a href="http://mysite.com/about" title="About">About</a>
<ul class='children'>
<li >
<a href="http://mysite.com/about/contact-us" title="Contact us">Contact us</a>
</li>
</ul>
</li>
</ul>
</div>
登录后复制
登录后复制
该代码有效,但其中包含我们通常不需要的项目:
严格来说,不需要外部div。我希望为UL提供一个ID,例如“导航”或使用HTML5 NAV元素。>
- >当我们的链接包含相同的文本时,我们不需要标题属性。>
>我们的CSS或JavaScript是否需要“ page_item”和“ page-item-n”类的挂钩?-
>子链接列表的“儿童”类是不需要的 - 我们可以使用诸如“ nav ul ul li”的选择器来设置它们。- 。
current_page_ancestor和current_page_parent类是同一件事,但是我更喜欢一个较短的名称,例如“ open”。
- 同样,我希望重命名current_page_item为“活动”。
我们是否需要完整页面URL?我们可以使用较短的绝对地址,例如 /, /about和 /contact?- >
有几种整理HTML的方法,但是最简单的解决方案使用正则表达式代替了字符串。
笔记:
WordPress 3 Walker对象
在WordPress 3.0中,可以将自定义Walker对象作为参数传递给WP_NAV_MENU()。该对象提供代码,以输出您自己的每个页面链接的自定义HTML。尽管这在某些情况下会很有用,但是您可能需要外部HTML的正直,但代码不一定会更短,并且在WordPress 2.x及以下都无法使用。
这是将花样的HTML菜单输出到2个级别(主菜单和子菜单)的PHP代码。在大多数情况下,它应替换为主题header.php文件中的wp_nav_menu()或wp_list_pages():
<?php wp_nav_menu(array( 'depth'=>2 )); ?>
登录后复制
登录后复制
如果您在版本3之前使用WordPress版本,请使用:
<div >
<ul>
<li >
<a href="http://mysite.com/" title="Home">Home</a>
</li>
<li >
<a href="http://mysite.com/about" title="About">About</a>
<ul class='children'>
<li >
<a href="http://mysite.com/about/contact-us" title="Contact us">Contact us</a>
</li>
</ul>
</li>
</ul>
</div>
登录后复制
登录后复制
我们由此产生的HTML更加干净,并减少了50%以上。更长的菜单可能会带来更大的节省。
echo preg_replace(array(
'/t/', // remove tabs
'/'.str_replace('//','//', get_bloginfo('url')).'/i', // remove full URL
'/current_page_items*/i',
'/current_page_ancestors*/i',
'/current_page_parents*/i',
'/page_items+/i',
'/page-item-d+s*/i',
'/childrens*/i',
'/s*class=["']["']/i', // empty classes
'/s*title="[^"]+"/i', // all titles
'/s+>/i',
'/div>/i' // change div to nav
),
array(
'',
'',
'active',
'open',
'',
'',
'',
'',
'',
'',
'>',
'nav>'
),
wp_nav_menu(array( 'menu_class'=>'', 'depth'=>2, 'echo'=>false ))
);
登录后复制
请注意,正则表达式强大但危险。如果您使用更深的页面深度或具有名为“儿童”或“ page_item”的页面,则可能需要更改代码。
现在没有借口 - 请整理您的WordPress html!
经常询问有关WordPress菜单的问题HTML整洁
>如何将HTML添加到WordPress菜单?
可以通过使用“ WP_NAV_MENU”函数来完成WordPress菜单中的HTML。此功能使您可以将自定义HTML添加到WordPress菜单中。您可以将HTML代码直接添加到主题功能中的函数中。请记住,在更改functions.php文件之前,请始终备份您的网站。
>什么是HTML整理,它如何与WordPress一起使用?
html html整洁是一个有助于清洁的工具向上并纠正HTML编码中的任何问题。它可以与WordPress一起使用,以确保您的网站的HTML清洁且无错误。这可以帮助改善您的网站的性能和SEO。
>如何使用html?
使用'wp_nav_menu'函数来自定义我的WordPress菜单。您可以在菜单项中添加自定义类,ID和其他HTML元素。这使您可以以唯一的方式对菜单进行样式。 WordPress网站。它可用于清理网站的HTML并纠正任何错误。这可以帮助提高您网站的性能和SEO。
>我如何使用HTML整洁来改善网站的SEO?
html整洁可以通过清理和纠正任何错误来帮助改善您的网站SEO。您网站的HTML。这可以帮助您改善网站的性能,这是搜索引擎对网站进行排名时考虑的因素。>我可以将HTML整洁与其他CMS平台使用吗?这是一种多功能工具,可用于清理和纠正您网站的HTML中的任何错误,无论您使用的平台如何。
如何将自定义类添加到我的WordPress菜单项目中?
> >您可以使用“ WP_NAV_MENU”函数将自定义类添加到WordPress菜单项中。这使您可以在菜单项中添加自定义类,然后您可以使用CSS样式。
我可以使用html整洁来清理我的网站的CSS?
,而HTML整理主要是在使用HTML为了清理HTML,也可以用于清理网站的CSS。这可以有助于提高网站的性能并确保您的CSS无错误。>
>我如何使用HTML整洁来清理我的网站的HTML?>您可以使用HTML整洁来清理通过该工具运行网站的HTML,您的网站的HTML。它将确定任何错误并建议更正。然后,您可以实现这些更正以改进网站的HTML。
>我可以使用HTML整理清理我的网站的JavaScript?
>
>>
,而html整理主要用于清理html,也可以用于清理网站的JavaScript。这可以帮助提高网站的性能并确保您的JavaScript无错误。
以上是如何整理WordPress菜单html的详细内容。更多信息请关注PHP中文网其他相关文章!