# get_edit_post_link()

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

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

## Сигнатура

```php
get_edit_post_link( int|WP_Post $post, string $context = 'display' ): string|null
```

## Описание

Можно использовать как внутри цикла WordPress, так и вне его. Подходит для страниц, записей, вложений, ревизий, глобальных стилей, шаблонов и частей шаблонов.

## Параметры

- `$post` `int|WP_Post` — необязательный. ID записи или объект записи. По умолчанию — глобальная переменная $post.
- `$context` `string` — необязательный, по умолчанию `'display'`. Как выводить символ '&'. По умолчанию '&'.

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

`string|null`

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

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

```php
function get_edit_post_link( $post = 0, $context = 'display' ) {
	$post = get_post( $post );

	if ( ! $post ) {
		return null;
	}

	if ( 'revision' === $post->post_type ) {
		$action = '';
	} elseif ( 'display' === $context ) {
		$action = '&amp;action=edit';
	} else {
		$action = '&action=edit';
	}

	$post_type_object = get_post_type_object( $post->post_type );

	if ( ! $post_type_object ) {
		return null;
	}

	if ( ! current_user_can( 'edit_post', $post->ID ) ) {
		return null;
	}

	$link = '';

	if ( 'wp_template' === $post->post_type || 'wp_template_part' === $post->post_type ) {
		$slug = urlencode( get_stylesheet() . '//' . $post->post_name );
		$link = admin_url( sprintf( $post_type_object->_edit_link, $post->post_type, $slug ) );
	} elseif ( 'wp_navigation' === $post->post_type ) {
		$link = admin_url( sprintf( $post_type_object->_edit_link, (string) $post->ID ) );
	} elseif ( $post_type_object->_edit_link ) {
		$link = admin_url( sprintf( $post_type_object->_edit_link . $action, $post->ID ) );
	}

	/**
	 * Filters the post edit link.
	 *
	 * @since 2.3.0
	 *
	 * @param string $link    The edit link.
	 * @param int    $post_id Post ID.
	 * @param string $context The link context. If set to 'display' then ampersands
	 *                        are encoded.
	 */
	return apply_filters( 'get_edit_post_link', $link, $post->ID, $context );
}
```

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

- 6.3.0 — Adds custom link for wp_navigation post types. Adds custom links for wp_template_part and wp_template post types.
- 2.3.0 — Introduced.

## Связанные

Использует: [`get_stylesheet`](https://chugunov.pro/api-wordpress/functions/get_stylesheet/), [`current_user_can`](https://chugunov.pro/api-wordpress/functions/current_user_can/), [`admin_url`](https://chugunov.pro/api-wordpress/functions/admin_url/), [`apply_filters`](https://chugunov.pro/api-wordpress/functions/apply_filters/), [`get_post`](https://chugunov.pro/api-wordpress/functions/get_post/), [`get_post_type_object`](https://chugunov.pro/api-wordpress/functions/get_post_type_object/).
Используется в: [`wp_render_empty_block_template_warning`](https://chugunov.pro/api-wordpress/functions/wp_render_empty_block_template_warning/), [`wp_get_post_revisions_url`](https://chugunov.pro/api-wordpress/functions/wp_get_post_revisions_url/), [`do_block_editor_incompatible_meta_box`](https://chugunov.pro/api-wordpress/functions/do_block_editor_incompatible_meta_box/), `WP_Posts_List_Table::handle_row_actions`, `WP_Posts_List_Table::column_title`, `WP_Media_List_Table::column_parent`, `WP_Media_List_Table::column_title`, [`wp_dashboard_recent_posts`](https://chugunov.pro/api-wordpress/functions/wp_dashboard_recent_posts/), [`wp_dashboard_recent_drafts`](https://chugunov.pro/api-wordpress/functions/wp_dashboard_recent_drafts/), [`attachment_submitbox_metadata`](https://chugunov.pro/api-wordpress/functions/attachment_submitbox_metadata/), [`_admin_notice_post_locked`](https://chugunov.pro/api-wordpress/functions/_admin_notice_post_locked/), [`post_submit_meta_box`](https://chugunov.pro/api-wordpress/functions/post_submit_meta_box/), `WP_Media_List_Table::_get_row_actions`, `WP_Comments_List_Table::column_response`, [`redirect_post`](https://chugunov.pro/api-wordpress/functions/redirect_post/), [`wp_notify_postauthor`](https://chugunov.pro/api-wordpress/functions/wp_notify_postauthor/), [`edit_post_link`](https://chugunov.pro/api-wordpress/functions/edit_post_link/), [`wp_admin_bar_edit_menu`](https://chugunov.pro/api-wordpress/functions/wp_admin_bar_edit_menu/), [`wp_post_revision_title`](https://chugunov.pro/api-wordpress/functions/wp_post_revision_title/), [`wp_post_revision_title_expanded`](https://chugunov.pro/api-wordpress/functions/wp_post_revision_title_expanded/), [`wp_prepare_attachment_for_js`](https://chugunov.pro/api-wordpress/functions/wp_prepare_attachment_for_js/).

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