要自定义WordPress面包屑导航,你可以创建一个自定义函数并将其添加到你的主题文件中(通常是functions.php)。以下是一个示例函数,用于生成WordPress面包屑导航:

自定义函数实现wordpress面包屑导航

function custom_breadcrumbs() {
    // 面包屑导航的分隔符
    $delimiter = ' » ';

    // 获取当前页面的信息
    $home = '首页'; // 首页的文本
    $before = '<span class="current">'; // 非链接文本之前
    $after = '</span>'; // 非链接文本之后

    if (!is_home() && !is_front_page() || is_paged()) {
        echo '<div id="breadcrumbs">';
        echo '<a href="' . get_option('home') . '">' . $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 . 'Archive by category "' . single_cat_title('', false) . '"' . $after;

        // 如果是自定义分类法存档页面
        } elseif (is_tax()) {
            global $wp_query;
            $term = $wp_query>get_queried_object();
            $taxonomy = $term>taxonomy;
            $parent_term = get_term($term>parent, $taxonomy);
            if ($term>parent != 0) {
                echo(get_term_parents($parent_term>term_id, $taxonomy, TRUE, ' ' . $delimiter . ' '));
            }
            echo $before . esc_html($term>name) . $after;

        // 如果是搜索结果页面
        } elseif (is_search()) {
            echo $before . 'Search results for "' . get_search_query() . '"' . $after;

        // 如果是单独页面
        } elseif (is_single()) {
            $category = get_the_category();
            if ($category) {
                $catID = $category[0]>cat_ID;
                echo(get_category_parents($catID, TRUE, ' ' . $delimiter . ' '));
            }
            echo '<a href="' . get_permalink() . '">' . get_the_title() . '</a>';

        // 如果是页面
        } elseif (is_page()) {
            if ($post>post_parent) {
                $anc = get_post_ancestors($post>ID);
                $title = get_the_title();
                foreach ($anc as $ancestor) {
                    $output = '<a href="' . get_permalink($ancestor) . '" title="' . get_the_title($ancestor) . '">' . get_the_title($ancestor) . '</a>' . $delimiter . $output;
                }
                echo $output;
                echo $before . $title . $after;
            } else {
                echo $before . get_the_title() . $after;
            }

        // 如果是标签存档页面
        } elseif (is_tag()) {
            echo $before . 'Posts tagged "' . single_tag_title('', false) . '"' . $after;

        // 如果是作者存档页面
        } elseif (is_author()) {
            global $author;
            $userdata = get_userdata($author);
            echo $before . 'Articles posted by ' . $userdata>display_name . $after;

        // 如果是404错误页面
        } elseif (is_404()) {
            echo $before . '404 Error' . $after;
        }

        // 分页导航
        if (get_query_var('paged')) {
            echo ' (' . __('Page') . ' ' . get_query_var('paged') . ')';
        }

        echo '</div>';
    }
}

要在你的主题中使用这个面包屑导航函数,你可以在你的主题模板文件中的适当位置(通常是header.php)调用它,如下所示:

<?php custom_breadcrumbs(); ?>

这将在你的WordPress网站上生成一个基本的面包屑导航。你可以根据你的需求自定义面包屑导航的样式和外观,以适应你的主题。