Short code : [custom_breadcrumbs]
How it works? Examples;
Home > Category 1 > Category 2 > Post Title
Home > Category Name
Home > Tag Name
Home > Parent Page 1 > Parent Page 2 > Current Page Title
Home > Current Page Title
Home > Author Name
Home > Search results for “example query”
….etc
// [custom_breadcrumbs] shortcode function custom_breadcrumbs() { // Define the breadcrumb structure $separator = '<span> > </span>'; // Separator between breadcrumbs $home_title = 'Home'; // Text for the home link // If it is the front page, return early if (is_front_page()) { return ''; } // Start the breadcrumbs output $breadcrumbs = '<a href="' . get_home_url() . '">' . $home_title . '</a>' . $separator; if (is_single()) { // For single post, get all categories and post title $categories = get_the_category(); if ($categories) { foreach ($categories as $category) { $breadcrumbs .= '<a href="' . get_category_link($category->term_id) . '">' . $category->name . '</a>' . $separator; } } $breadcrumbs .= '<span>' . get_the_title() . '</span>'; } elseif (is_category()) { // For category archive page $breadcrumbs .= '<span>' . single_cat_title('', false) . '</span>'; } elseif (is_page()) { // For regular pages (not posts) if ($post->post_parent) { $parent_id = $post->post_parent; $breadcrumbs_array = array(); while ($parent_id) { $page = get_page($parent_id); $breadcrumbs_array[] = '<a href="' . get_permalink($page->ID) . '">' . get_the_title($page->ID) . '</a>'; $parent_id = $page->post_parent; } $breadcrumbs_array = array_reverse($breadcrumbs_array); $breadcrumbs .= implode($separator, $breadcrumbs_array) . $separator; } $breadcrumbs .= '<span>' . get_the_title() . '</span>'; } elseif (is_tag()) { // For tag archive page $breadcrumbs .= '<span>' . single_tag_title('', false) . '</span>'; } elseif (is_author()) { // For author archive page $breadcrumbs .= '<span>' . get_the_author() . '</span>'; } elseif (is_date()) { // For date archive page $breadcrumbs .= '<span>' . get_the_time('F Y') . '</span>'; } elseif (is_search()) { // For search results page $breadcrumbs .= '<span>Search results for "' . get_search_query() . '"</span>'; } elseif (is_404()) { // For 404 error page $breadcrumbs .= '<span>404 - Page not found</span>'; } return $breadcrumbs; } // Register shortcode [custom_breadcrumbs] add_shortcode('custom_breadcrumbs', 'custom_breadcrumbs');