Функция get_edit_post_link(): Получение ссылки на редактирование поста в WordPress

Функция get_edit_post_link() используется для получения URL-адреса страницы редактирования поста в админке WordPress. В отличие от функции edit_post_link(), которая выводит готовую HTML-ссылку, эта функция возвращает только сам URL, что позволяет более гибко использовать его в шаблонах или других местах, где требуется настройка внешнего вида или поведения ссылки.

get_edit_post_link( 
    int|WP_Post $id = 0, 
    string $context = 'display', 
    bool $allow_fallback = true 
);

Аргументы:

  • $id (int|WP_Post): ID поста или объект поста. Если не указан, используется текущий пост в цикле.
  • $context (строка): Определяет, как будет возвращен URL. Может быть:
    • 'display' — экранирует URL для безопасного вывода в HTML (используется по умолчанию).
    • 'raw' — возвращает необработанный URL (без экранирования).
  • $allow_fallback (bool): Если true, WordPress попробует использовать текущее состояние записи для получения ссылки, если id не указан. По умолчанию это значение установлено как true.

Пример использования

Чтобы получить ссылку на редактирование поста и вывести её в шаблоне, можно использовать следующий код:

<?php 
$post_edit_url = get_edit_post_link();
if ( $post_edit_url ) {
    echo '<a href="' . esc_url( $post_edit_url ) . '">Редактировать этот пост</a>';
}
?>

Этот код создаст ссылку на редактирование текущего поста, если у пользователя есть соответствующие права на редактирование. Функция esc_url() используется для экранирования URL перед выводом.

Почитаем еще?: