WordPress面包屑导航代码
文章目录
面包屑导航(Breadcrumbs)是网页导航设计中一个标准设计模式,在网站浏览中非常有用。添加面包屑导航可以优化网站的SEO,提高访客体验和搜索引擎优化。因此,大多数网站都会设计面包屑导航。在WordPress主题开发过程中,面包屑导航通常需要添加在文章页面或独立页面。以下是如何在WordPress中实现面包屑导航的详细步骤。
整理和修正后的代码
1. 在当前主题的 functions.php
文件中添加以下代码:
function get_breadcrumbs() { global $wp_query; if (!is_home()) { // Start the UL echo '<ul class="breadcrumbs">'; // Add the Home link echo '<li><a href="' . get_home_url() . '">' . get_bloginfo('name') . '</a></li>'; if (is_category()) { $catTitle = single_cat_title("", false); $cat = get_cat_ID($catTitle); echo "<li> » " . get_category_parents($cat, TRUE, " » ") . "</li>"; } elseif (is_archive() && !is_category()) { echo "<li> » Archives</li>"; } elseif (is_search()) { echo "<li> » Search Results</li>"; } elseif (is_404()) { echo "<li> » 404 Not Found</li>"; } elseif (is_single()) { $category = get_the_category(); $category_id = get_cat_ID($category[0]->cat_name); echo '<li> » ' . get_category_parents($category_id, TRUE, " » "); echo the_title('', '', FALSE) . "</li>"; } elseif (is_page()) { $post = $wp_query->get_queried_object(); if ($post->post_parent == 0) { echo "<li> » " . the_title('', '', FALSE) . "</li>"; } else { $title = the_title('', '', FALSE); $ancestors = array_reverse(get_post_ancestors($post->ID)); array_push($ancestors, $post->ID); foreach ($ancestors as $ancestor) { if ($ancestor != end($ancestors)) { echo '<li> » <a href="' . get_permalink($ancestor) . '">' . strip_tags(apply_filters('single_post_title', get_the_title($ancestor))) . '</a></li>'; } else { echo '<li> » ' . strip_tags(apply_filters('single_post_title', get_the_title($ancestor))) . '</li>'; } } } } // End the UL echo "</ul>"; } }
2. 在需要使用到的面包屑导航页面位置添加以下调用代码:
<?php if (function_exists('get_breadcrumbs')) { get_breadcrumbs(); } ?>
3. 在主题的CSS样式文件中添加以下样式代码:
ul.breadcrumbs { list-style: none; padding: 0; margin: 0; font-size: 12px; } ul.breadcrumbs li { float: left; margin: 0 5px 0 0; padding: 0; } ul.breadcrumbs li a { text-decoration: none; color: #0073aa; } ul.breadcrumbs li a:hover { text-decoration: underline; } ul.breadcrumbs li::after { content: " / "; padding: 0 5px; } ul.breadcrumbs li:last-child::after { content: ""; }
代码解析
get_breadcrumbs
函数:该函数生成面包屑导航条。首先,它检查当前页面是否为首页。如果不是首页,则开始生成面包屑导航条。添加“首页”链接。
根据当前页面类型(如分类页面、存档页面、搜索结果页面、404页面、文章页面或独立页面),生成相应的导航条。
使用
get_category_parents
函数获取分类的父级分类。使用
get_post_ancestors
函数获取页面的父级页面。将所有链接放入
ul
列表中,并用li
标签包裹。调用
get_breadcrumbs
函数:在需要显示面包屑导航的位置调用此函数。CSS样式:为面包屑导航条设置样式,确保其外观整洁美观。
通过这些步骤,你可以在WordPress网站中添加面包屑导航功能,提升用户体验和SEO优化。希望这能满足你的需求,如有进一步问题,请随时告知。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至123@#-@12-3.com举报,一经查实,本站将立刻删除。
共有 30 条评论