# get_post_type_archive_link()

URL: https://chugunov.pro/api-wordpress/functions/get_post_type_archive_link/
Проверено на WordPress 6.9, обновлено 06.08.2026.
Источник: независимый русскоязычный справочник chugunov.pro. Не является официальной документацией WordPress.

Тип: функция.
Появился в версии: 3.1.0.

## Сигнатура

```php
get_post_type_archive_link( string $post_type ): string|false
```

## Описание

Извлекает постоянную ссылку для архива типа записи.

## Параметры

- `$post_type` `string` — обязательный. Тип записи.

## Возвращаемое значение

`string|false`

## Исходный код

Файл: `wp-includes/link-template.php:1301`

```php
function get_post_type_archive_link( $post_type ) {
	global $wp_rewrite;

	$post_type_obj = get_post_type_object( $post_type );

	if ( ! $post_type_obj ) {
		return false;
	}

	if ( 'post' === $post_type ) {
		$show_on_front  = get_option( 'show_on_front' );
		$page_for_posts = get_option( 'page_for_posts' );

		if ( 'page' === $show_on_front && $page_for_posts ) {
			$link = get_permalink( $page_for_posts );
		} else {
			$link = get_home_url();
		}
		/** This filter is documented in wp-includes/link-template.php */
		return apply_filters( 'post_type_archive_link', $link, $post_type );
	}

	if ( ! $post_type_obj->has_archive ) {
		return false;
	}

	if ( get_option( 'permalink_structure' ) && is_array( $post_type_obj->rewrite ) ) {
		$struct = ( true === $post_type_obj->has_archive ) ? $post_type_obj->rewrite['slug'] : $post_type_obj->has_archive;
		if ( $post_type_obj->rewrite['with_front'] ) {
			$struct = $wp_rewrite->front . $struct;
		} else {
			$struct = $wp_rewrite->root . $struct;
		}
		$link = home_url( user_trailingslashit( $struct, 'post_type_archive' ) );
	} else {
		$link = home_url( '?post_type=' . $post_type );
	}

	/**
	 * Filters the post type archive permalink.
	 *
	 * @since 3.1.0
	 *
	 * @param string $link      The post type archive permalink.
	 * @param string $post_type Post type name.
	 */
	return apply_filters( 'post_type_archive_link', $link, $post_type );
}
```

## История изменений

- 4.5.0 — Support for posts was added.
- 3.1.0 — Introduced.

## Связанные

Использует: [`get_home_url`](https://chugunov.pro/api-wordpress/functions/get_home_url/), [`user_trailingslashit`](https://chugunov.pro/api-wordpress/functions/user_trailingslashit/), [`home_url`](https://chugunov.pro/api-wordpress/functions/home_url/), [`get_permalink`](https://chugunov.pro/api-wordpress/functions/get_permalink/), [`apply_filters`](https://chugunov.pro/api-wordpress/functions/apply_filters/), [`get_option`](https://chugunov.pro/api-wordpress/functions/get_option/), [`get_post_type_object`](https://chugunov.pro/api-wordpress/functions/get_post_type_object/).
Используется в: `WP_Customize_Nav_Menu_Item_Setting::value_as_wp_post_nav_menu_item`, `WP_Post`, `WP_Customize_Nav_Menus::load_available_items_query`, [`wp_nav_menu_item_post_type_meta_box`](https://chugunov.pro/api-wordpress/functions/wp_nav_menu_item_post_type_meta_box/), [`wp_list_categories`](https://chugunov.pro/api-wordpress/functions/wp_list_categories/), [`get_post_type_archive_feed_link`](https://chugunov.pro/api-wordpress/functions/get_post_type_archive_feed_link/), [`wp_admin_bar_edit_menu`](https://chugunov.pro/api-wordpress/functions/wp_admin_bar_edit_menu/), [`wp_setup_nav_menu_item`](https://chugunov.pro/api-wordpress/functions/wp_setup_nav_menu_item/).

Оригинал в официальной документации: https://developer.wordpress.org/reference/functions/get_post_type_archive_link/
