Получение ссылки для редактирования комментария (get_edit_comment_link)
Функция get_edit_comment_link() позволяет получить ссылку для редактирования комментария в WordPress.
Использование функции
Эта функция используется внутри другой функции — edit_comment_link(). Ниже приведены основные параметры и информация о производительности.
Параметры производительности
- Выполнение один раз: 0.0028741 сек (очень медленно).
- Выполнение 50,000 раз: 6.57 сек (быстро).
- PHP версия: 7.3.12, WordPress версия 5.3.2.
Возвращаемое значение
Функция возвращает строку с URL для редактирования комментария. Если комментарий не существует или текущий пользователь не имеет прав на редактирование, возвращается null.
Синтаксис
get_edit_comment_link( $comment_id, $context );
Параметры
- $comment_id (int|WP_Comment): ID комментария или объект WP_Comment.
- $context (string): Контекст, в котором будет использоваться URL:
'display'— включает HTML-сущности (по умолчанию).'url'— возвращает URL без HTML-сущностей.
Примеры использования
Пример 1: Получение ссылки для редактирования комментария
echo get_edit_comment_link( 2020 );
// Результат: http://example.com/wp-admin/comment.php?action=editcomment&c=2020
Пример 2: Получение полного основного HTML-ссылки
Этот пример показывает, как создать ссылку с помощью edit_comment_link():
echo '✎ Редактировать';
Код функции
Ниже представлен исходный код функции get_edit_comment_link() из файла wp-includes/link-template.php:
function get_edit_comment_link( $comment_id = 0, $context = 'display' ) {
$comment = get_comment( $comment_id );
if ( ! is_object( $comment ) || ! current_user_can( 'edit_comment', $comment->comment_ID ) ) {
return;
}
if ( 'display' === $context ) {
$action = 'comment.php?action=editcomment&c=';
} else {
$action = 'comment.php?action=editcomment&c=';
}
$location = admin_url( $action ) . $comment->comment_ID;
// Обеспечивает то, чтобы переменная $comment_id всегда была ID.
$comment_id = (int) $comment->comment_ID;
/**
* Фильтрует ссылку для редактирования комментария.
*
* @param string $location Ссылка для редактирования.
* @param int $comment_id Уникальный ID комментария для генерации ссылки.
* @param string $context Контекст для включения HTML-сущностей в ссылку. По умолчанию 'display'.
*/
return apply_filters( 'get_edit_comment_link', $location, $comment_id, $context );
}
Изменения
- Версия 2.3.0: Функция была введена.
- Версия 6.7.0: Добавлен параметр
$context.
Связанные функции
cancel_comment_reply_link()comment_author_email_link()comment_form()get_comment()wp_insert_comment()
Эти функции могут быть полезны при работе с комментариями в WordPress.