public function date_breadcrumbs( $base_url = false ) {

		$date_breadcrumbs = array();

		// Year
		$year = get_query_var( 'year' );
		if ( ! empty( $year ) ) {

			$dateformatstring = _x( 'Y', 'breadcrumb year format', 'church-theme-framework' );

			if ( ! empty( $base_url ) ) { // if base URL given, use it (such as custom post type date archive)
				$date_url = trailingslashit( $base_url ) . trailingslashit( $year );
			} else {
				$date_url = get_year_link( $year );
			}

			$this->add_breadcrumb( $date_breadcrumbs, array(
				date_i18n( $dateformatstring, mktime( 0, 0, 0, 1, 1, $year ) ),
				$date_url
			) );

			// Month
			$month = get_query_var( 'monthnum' );
			if ( ! empty( $month ) ) {

				$dateformatstring = _x( 'F', 'breadcrumb month format', 'church-theme-framework' );

				if ( ! empty( $base_url ) ) { // if base URL given, use it (such as custom post type date archive)
					$date_url .= trailingslashit( $month );
				} else {
					$date_url = get_month_link( $year, $month );
				}

				$this->add_breadcrumb( $date_breadcrumbs, array(
					date_i18n( $dateformatstring, mktime( 0, 0, 0, $month, 1, $year ) ),
					$date_url
				) );

				// Day
				$day = get_query_var( 'day' );
				if ( ! empty( $day ) ) {

					$dateformatstring = _x( 'jS', 'breadcrumb day format', 'church-theme-framework' );

					if ( ! empty( $base_url ) ) { // if base URL given, use it (such as custom post type date archive)
						$date_url .= trailingslashit( $day );
					} else {
						$date_url = get_day_link( $year, $month, $day );
					}

					$this->add_breadcrumb( $date_breadcrumbs, array(
						date_i18n( $dateformatstring, mktime( 0, 0, 0, $month, $day, $year ) ),
						$date_url
					) );

				}

			}

		}

		// Reverse order
		$date_breadcrumbs = array_reverse( $date_breadcrumbs );

		return apply_filters( 'ctc_date_breadcrumbs', $date_breadcrumbs, $base_url );

	}