<?php /** * Generate page breadcrumbs. * * @package p2020 */ namespace Automattic\P2\Themes\P2020; function format_breadcrumbs( $post_id ) { $post = get_post( $post_id ); $title = $post->post_title ? $post->post_title : "#{$post_id} (no title)"; $permalink = get_permalink( $post_id ); return <<<ITEM <li class="p2020-page-breadcrumbs__list-item"> <a href="{$permalink}">{$title}</a> </li> ITEM; } function get_page_breadcrumbs( $post_id ) { require_once get_template_directory() . '/inc/pages-index/class-pages-index.php'; $ancestor_ids = array_reverse( get_post_ancestors( $post_id ) ); $breadcrumbs = array_map( __NAMESPACE__ . '\format_breadcrumbs', $ancestor_ids ); $breadcrumbs_html = implode( $breadcrumbs ); $pages_index_url = esc_url( Pages_Index\Pages_Index::get_pages_index_url() ); $pages_index_label = esc_html( __( 'Pages', 'p2020' ) ); return <<<BREADCRUMBS <div class="p2020-page-breadcrumbs"> <ul class="p2020-page-breadcrumbs__list"> <li class="p2020-page-breadcrumbs__list-item"> <a href="{$pages_index_url}" class="p2020-page-breadcrumbs__home-link">{$pages_index_label}</a> </li> {$breadcrumbs_html} </ul> </div> BREADCRUMBS; }