Astra_Breadcrumb_Trail::add_post_hierarchy( int $post_id )
Adds a specific post’s hierarchy to the items array. The hierarchy is determined by post type’s rewrite arguments and whether it has an archive page.
Description
Parameters
- $post_id
- 
					(int) (Required) 
Return
(void)
Source
File: inc/addons/breadcrumbs/class-astra-breadcrumb-trail.php
	protected function add_post_hierarchy( $post_id ) {
		// Get the post type.
		$post_type        = get_post_type( $post_id );
		$post_type_object = get_post_type_object( $post_type );
		// If this is the 'post' post type, get the rewrite front items and map the rewrite tags.
		if ( 'post' === $post_type ) {
			// Add $wp_rewrite->front to the trail.
			$this->add_rewrite_front_items();
			// Map the rewrite tags.
			$this->map_rewrite_tags( $post_id, get_option( 'permalink_structure' ) );
		}
		// If the post type has rewrite rules.
		elseif ( false !== $post_type_object->rewrite ) {
			// If 'with_front' is true, add $wp_rewrite->front to the trail.
			if ( $post_type_object->rewrite['with_front'] ) {
				$this->add_rewrite_front_items();
			}
			// If there's a path, check for parents.
			if ( ! empty( $post_type_object->rewrite['slug'] ) ) {
				$this->add_path_parents( $post_type_object->rewrite['slug'] );
			}
		}
		// If there's an archive page, add it to the trail.
		if ( $post_type_object->has_archive ) {
			// Add support for a non-standard label of 'archive_title' (special use case).
			$label = ! empty( $post_type_object->labels->archive_title ) ? $post_type_object->labels->archive_title : $post_type_object->labels->name;
			// Core filter hook.
			$label = apply_filters( 'post_type_archive_title', $label, $post_type_object->name );
			$this->items[] = sprintf( '<a href="%s">%s</a>', esc_url( get_post_type_archive_link( $post_type ) ), $label );
		}
		// Map the rewrite tags if there's a `%` in the slug.
		if ( 'post' !== $post_type && ! empty( $post_type_object->rewrite['slug'] ) && false !== strpos( $post_type_object->rewrite['slug'], '%' ) ) {
			$this->map_rewrite_tags( $post_id, $post_type_object->rewrite['slug'] );
		}
	}
			Expand full source code Collapse full source code View on Trac
Changelog
| Version | Description | 
|---|---|
| 1.0.0 | Introduced. |