下载鸥 > 网站下载 > 开发教程 > WordPress

分享一段WordPress面包屑导航源码

405 2022-03-27 13:25:48

收藏
分享一段WordPress面包屑导航源码
WordPress博客程序非常好用,但他的一个缺点是不带面包屑导航。而面包屑导航在seo中又是非常重要的。那么,我们要怎么自己开发呢?

分享一段WordPress面包屑导航源码
下方源码供参考。
 

WordPress面包屑导航源码


function wp_breadcrumb()
{
    $delimiter = ' » ';
    $home = '首页';
    $search_result = get_option('op_search_result');
    $posts_tagged = get_option('op_posts_tagged');
    $posted_author = get_option('op_posted_author');
    $error_404 = get_option('op_error_404');
    $page_navi = get_option('op_page_navi');
    $before = '';
    $after = '';
    if (!is_home() && !is_front_page() || is_paged()) {
        global $post;
        $homeLink = home_url();
        echo '<a href="' . $homeLink . '">' . $home . '</a>' . $delimiter . '';
        if (is_category()) {
            global $wp_query;
            $cat_obj = $wp_query->get_queried_object();
            $thisCat = $cat_obj->term_id;
            $thisCat = get_category($thisCat);
            $parentCat = get_category($thisCat->parent);
            if ($thisCat->parent != 0) {
                echo get_category_parents($parentCat, TRUE, '' . $delimiter . '');
            }
            echo $before . single_cat_title('', false) . $after;
        } elseif (is_day()) {
            echo '' . get_the_time('Y') . '年' . get_the_time('m') . '月' . get_the_time('d') . '日发布的内容' . $after . '';
        } elseif (is_month()) {
            echo '' . get_the_time('Y') . '年' . get_the_time('m') . '月发布的内容' . $after . '';
        } elseif (is_year()) {
            echo '' . get_the_time('Y') . '年发布的内容' . $after . '';
        } elseif (is_single() && !is_attachment()) {
            if (get_post_type() != 'post') {
                $post_type = get_post_type_object(get_post_type());
                $slug = $post_type->rewrite;
                echo '<a href="' . $homeLink . '/' . $slug['slug'] . '/">' . $post_type->labels->singular_name . '</a>' . $delimiter . '';
                echo $before . get_the_title() . $after;
            } else {
                $cat = get_the_category();
                $cat = $cat[0];
                echo get_category_parents($cat, TRUE, '' . $delimiter . '');
                echo $before . get_the_title() . $after;
            }
        } elseif (!is_single() && !is_page() && get_post_type() != 'post' && !is_404()) {
            $post_type = get_post_type_object(get_post_type());
            echo $before . $post_type->labels->singular_name . $after;
        } elseif (is_attachment()) {
            $parent = get_post($post->post_parent);
            $cat = get_the_category($parent->ID);
            $cat = $cat[0];
            echo get_category_parents($cat, TRUE, '' . $delimiter . '');
            echo '<a href="' . get_permalink($parent) . '">' . $parent->post_title . '</a>' . $delimiter . '';
            echo $before . get_the_title() . $after;
        } elseif (is_page() && !$post->post_parent) {
            echo $before . get_the_title() . $after;
        } elseif (is_page() && $post->post_parent) {
            $parent_id = $post->post_parent;
            $breadcrumbs = array();
            while ($parent_id) {
                $page = get_page($parent_id);
                $breadcrumbs[] = '<a href="' . get_permalink($page->ID) . '">' . get_the_title($page->ID) . '</a>';
                $parent_id = $page->post_parent;
            }
            $breadcrumbs = array_reverse($breadcrumbs);
            foreach ($breadcrumbs as $crumb) {
                echo $crumb . '' . $delimiter . '';
            }
            echo $before . get_the_title() . $after;
        } elseif (is_search()) {
            echo $before . '' . $search_result . '' . get_search_query() . '(搜索结果)' . $after;
        } elseif (is_tag()) {
            echo $before . '' . $posts_tagged . '' . single_tag_title('', false) . '(标签)' . $after;
        } elseif (is_author()) {
            global $author;
            $userdata = get_userdata($author);
            echo $before . '' . $posted_author . '' . $userdata->display_name . '发布的内容' . $after;
        } elseif (is_404()) {
            echo $before . '' . $error_404 . '404错误' . $after;
        }
        if (get_query_var('page')) {
            echo '(第';
            echo get_query_var('page');
            echo '页)';
        }
        if (get_query_var('paged')) {
            if (is_category() || is_day() || is_month() || is_year() || is_search() || is_tag() || is_author()) {
                echo '(第';
            }
            echo __('' . $page_navi . '') . '' . get_query_var('paged');
            if (is_category() || is_day() || is_month() || is_year() || is_search() || is_tag() || is_author()) {
                echo '页)';
            }
        }
    }
} 
 

WordPress面包屑导航使用方法

将以上代码复制并粘贴到主题文件的functions.php文件中,然后在对应模板中调用即可实现面包屑导航的制作。

这样,我们就实现了WordPress面包屑导航的制作。

本文地址:https://xzo.com.cn/develop/wp/1075.html

有帮助,很赞!

信息来源:下载鸥
导出教程 下载word版教程
发表评论 共有条评论
  • 隐藏的大佬 2022-03-27 15:43:20评论 #沙发#

    测试了好多段都不行,总算可以了,感谢大佬无私分享

关于WordPress


WordPress是世界级的博客程序,有过百万的模板插件支持,其外型大多十分美观,功能十分强大,可作为博客用户的首选。但如果是企业网站建设,则不建议选用WordPress:数据量是个大问题。

推荐WordPress开发教程
不懂开发,怎样用WordPress建站?
不懂开发,怎样用WordPress建站?

目前市面上的第三方建站程序很多,但使用WordPress建站无疑具备了高效、美观...

17 1250
WordPress怎样搬家/更换域名?搬家后乱码/跳转/404怎么办?
WordPress怎样搬家/更换域名?搬家后乱码/跳转/404怎么办?

对于建站时间稍长的站长来说,换域名、换服务器、搬家都是必要的操作。如果使...

10 1771
WordPress博客程序可以转为帝国CMS吗?
WordPress博客程序可以转为帝国CMS吗?

WordPress作为顶级博客程序,海量插件一直是为人所津津乐道的。大多数WordPre...

15 1906
Wordpress怎样设置短代码?
Wordpress怎样设置短代码?

我知道wordpress有神奇的自定义函数,这个自定义函数基本上可以代替大部分的...

17 343
怎样通过宝塔面板来优化WordPress缓存加速?
怎样通过宝塔面板来优化WordPress缓存加速?

如果你的服务器环境是用的宝塔面板,那么我们就可以通过宝塔面板来优化WordPr...

12 363
使用WordPress搭建个人博客要如何选择服务器呢?
使用WordPress搭建个人博客要如何选择服务器呢?

打造互联网个体品牌的用户个体越来越多,WordPress是一个相当不错的方案。但...

1 693
WordPress怎样获取文章第一张缩略图
WordPress怎样获取文章第一张缩略图

WordPress有缩略图字段,但如果没有录入缩略图,能否自动获取文章内的第一张图...

0 376
分享一段WordPress面包屑导航源码
分享一段WordPress面包屑导航源码

WordPress博客程序非常好用,但他的一个缺点是不带面包屑导航。而面包屑导航...

1 404
推荐插件
帝国cms多栏目多数据表自动审核推送插件
帝国cms多栏目多数据表自动审核推送插件

本插件基于帝国cms帝国cms每日自动审核插件,在自动审核指定条数信息的基础上...

0 772
帝国CMS内网用户静态站点文章访客统计插件
帝国CMS内网用户静态站点文章访客统计插件

本插件适用于内网用户,可查看单篇文章访问者ip地址。如果添加访问者ip组,可查...

0 439
帝国cms百度文字识别ocr接口对接插件
帝国cms百度文字识别ocr接口对接插件

许多网站会做一些小功能小插件给客户使用以增强用户黏性,比如图片转文字,这种...

0 349
帝国cms联想词搜索高级搜索插件下载
帝国cms联想词搜索高级搜索插件下载

帝国CMS自带的搜索功能虽然强大,但也有很强的局限性 -- 必须关键词完全匹配...

0 606
帝国cms智能自动审核按星期几审核指定栏目带推送插件
帝国cms智能自动审核按星期几审核指定栏目带推送插件

采集站的必备资源是自动审核,要做到日收录也离不开定时发布。而本插件的自动...

0 1122
帝国cms自动给正文关键词添加tag内链
帝国cms自动给正文关键词添加tag内链

帝国cms有自带的给关键词添加内链功能,但需要手动添加关键词,容易出现疏漏和...

0 634
帝国cms在线考试系统模板插件
帝国cms在线考试系统模板插件

一直没看到好用的帝国cms在线考试插件,所以自己开发了一款。在线考试插件用...

0 1145
帝国cms百度AI图像无损放大api接口对接插件
帝国cms百度AI图像无损放大api接口对接插件

通过本插件,可以实现帝国cms网站对接百度云api实现图像无损放大的功能。经过...

0 323
客服QQ:341553759
扫码咨询 常见问题 >
官方交流群:90432500
点击加入