# stick_post()

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

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

## Сигнатура

```php
stick_post( int $post_id )
```

## Описание

Прилепленные записи должны отображаться в начале главной страницы.

## Параметры

- `$post_id` `int` — обязательный. Идентификатор записи.

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

Файл: `wp-includes/post.php:3286`

```php
function stick_post( $post_id ) {
	$post_id  = (int) $post_id;
	$stickies = get_option( 'sticky_posts' );
	$updated  = false;

	if ( ! is_array( $stickies ) ) {
		$stickies = array();
	} else {
		$stickies = array_unique( array_map( 'intval', $stickies ) );
	}

	if ( ! in_array( $post_id, $stickies, true ) ) {
		$stickies[] = $post_id;
		$updated    = update_option( 'sticky_posts', array_values( $stickies ) );
	}

	if ( $updated ) {
		/**
		 * Fires once a post has been added to the sticky list.
		 *
		 * @since 4.6.0
		 *
		 * @param int $post_id ID of the post that was stuck.
		 */
		do_action( 'post_stuck', $post_id );
	}
}
```

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

- 2.7.0 — Introduced.

## Связанные

Использует: [`do_action`](https://chugunov.pro/api-wordpress/functions/do_action/), [`update_option`](https://chugunov.pro/api-wordpress/functions/update_option/), [`get_option`](https://chugunov.pro/api-wordpress/functions/get_option/).
Используется в: `WP_REST_Posts_Controller::create_item`, `WP_REST_Posts_Controller::update_item`, `wp_xmlrpc_server::_toggle_sticky`, [`edit_post`](https://chugunov.pro/api-wordpress/functions/edit_post/), [`bulk_edit_posts`](https://chugunov.pro/api-wordpress/functions/bulk_edit_posts/).

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