WPSEO_Post_Type_Sitemap_Provider::get_first_links()protectedYoast 1.0

Produces set of links to prepend at start of first sitemap page.

Метод класса: WPSEO_Post_Type_Sitemap_Provider{}

Возвращает

Массив.

Использование

// protected - в коде основоного (родительского) или дочернего класса
$result = $this->get_first_links( $post_type );
$post_type(строка) (обязательный)
Post type to produce links for.

Код WPSEO_Post_Type_Sitemap_Provider::get_first_links() Yoast 22.4

protected function get_first_links( $post_type ) {

	$links       = [];
	$archive_url = false;

	if ( $post_type === 'page' ) {

		$page_on_front_id = (int) get_option( 'page_on_front' );
		if ( $page_on_front_id > 0 ) {
			$front_page = $this->get_url(
				get_post( $page_on_front_id )
			);
		}

		if ( empty( $front_page ) ) {
			$front_page = [
				'loc' => YoastSEO()->helpers->url->home(),
			];
		}

		// Deprecated, kept for backwards data compat. R.
		$front_page['chf'] = 'daily';
		$front_page['pri'] = 1;

		$images = ( $front_page['images'] ?? [] );

		/**
		 * Filter images to be included for the term in XML sitemap.
		 *
		 * @param array  $images Array of image items.
		 * @return array $image_list Array of image items.
		 */
		$image_list = apply_filters( 'wpseo_sitemap_urlimages_front_page', $images );
		if ( is_array( $image_list ) ) {
			$front_page['images'] = $image_list;
		}

		$links[] = $front_page;
	}
	elseif ( $post_type !== 'page' ) {
		/**
		 * Filter the URL Yoast SEO uses in the XML sitemap for this post type archive.
		 *
		 * @param string $archive_url The URL of this archive
		 * @param string $post_type   The post type this archive is for.
		 */
		$archive_url = apply_filters(
			'wpseo_sitemap_post_type_archive_link',
			$this->get_post_type_archive_link( $post_type ),
			$post_type
		);
	}

	if ( $archive_url ) {

		$links[] = [
			'loc' => $archive_url,
			'mod' => WPSEO_Sitemaps::get_last_modified_gmt( $post_type ),

			// Deprecated, kept for backwards data compat. R.
			'chf' => 'daily',
			'pri' => 1,
		];
	}

	/**
	 * Filters the first post type links.
	 *
	 * @param array  $links     The first post type links.
	 * @param string $post_type The post type this archive is for.
	 */
	return apply_filters( 'wpseo_sitemap_post_type_first_links', $links, $post_type );
}