# wp_force_plain_post_permalink()

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

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

## Сигнатура

```php
wp_force_plain_post_permalink( int|WP_Post|null $post = null, bool|null $sample = null ): bool
```

## Описание

Определяет, должна ли запись всегда использовать простую структуру постоянных ссылок.

## Параметры

- `$post` `int|WP_Post|null` — необязательный, по умолчанию `null`. Идентификатор записи или объект записи. По умолчанию — глобальная переменная $post.
- `$sample` `bool|null` — необязательный, по умолчанию `null`. Следует ли принудительно выполнять проверку на основе образцовых ссылок.
  
  Если не указано, образцовая ссылка генерируется, когда передаётся объект записи со свойством filter, равным 'sample'.

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

`bool`

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

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

```php
function wp_force_plain_post_permalink( $post = null, $sample = null ) {
	if (
		null === $sample &&
		is_object( $post ) &&
		isset( $post->filter ) &&
		'sample' === $post->filter
	) {
		$sample = true;
	} else {
		$post   = get_post( $post );
		$sample = $sample ?? false;
	}

	if ( ! $post ) {
		return true;
	}

	$post_status_obj = get_post_status_object( get_post_status( $post ) );
	$post_type_obj   = get_post_type_object( get_post_type( $post ) );

	if ( ! $post_status_obj || ! $post_type_obj ) {
		return true;
	}

	if (
		// Publicly viewable links never have plain permalinks.
		is_post_status_viewable( $post_status_obj ) ||
		(
			// Private posts don't have plain permalinks if the user can read them.
			$post_status_obj->private &&
			current_user_can( 'read_post', $post->ID )
		) ||
		// Protected posts don't have plain links if getting a sample URL.
		( $post_status_obj->protected && $sample )
	) {
		return false;
	}

	return true;
}
```

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

- 5.7.0 — Introduced.

## Связанные

Использует: [`is_post_status_viewable`](https://chugunov.pro/api-wordpress/functions/is_post_status_viewable/), [`get_post_status_object`](https://chugunov.pro/api-wordpress/functions/get_post_status_object/), [`get_post_status`](https://chugunov.pro/api-wordpress/functions/get_post_status/), [`get_post_type`](https://chugunov.pro/api-wordpress/functions/get_post_type/), [`current_user_can`](https://chugunov.pro/api-wordpress/functions/current_user_can/), [`get_post`](https://chugunov.pro/api-wordpress/functions/get_post/), [`get_post_type_object`](https://chugunov.pro/api-wordpress/functions/get_post_type_object/).
Используется в: [`get_permalink`](https://chugunov.pro/api-wordpress/functions/get_permalink/), [`get_post_permalink`](https://chugunov.pro/api-wordpress/functions/get_post_permalink/), [`_get_page_link`](https://chugunov.pro/api-wordpress/functions/_get_page_link/), [`get_attachment_link`](https://chugunov.pro/api-wordpress/functions/get_attachment_link/).

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