функция
since 5.7.0
wp_force_plain_post_permalink()
Проверено на WordPress 6.9, обновлено Источник: WordPress Developer Resources.
Сигнатура
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
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. |

