Описание функции get_permalink()
Функция get_permalink() возвращает постоянную ссылку (URL) на запись, страницу или пользовательский тип записи. Она используется для получения URL, который можно использовать для ссылок на контент в WordPress. Функция поддерживает различные типы контента, включая записи и страницы, и может принимать ID записи или объект WP_Post.
Если ID записи или объект не переданы, функция использует глобальную переменную $post для получения текущей записи.
Параметры
$post
Тип: int|WP_Post
Обязательный: Нет
По умолчанию: null
Описание: ID записи или объект WP_Post, для которого нужно получить постоянную ссылку
Возможные значения:
int: ID существующей записи
WP_Post: Объект WP_Post
Возвращаемое значение
Тип: string|false
Описание: Постоянная ссылка на запись или false в случае ошибки
Возможные значения:
• URL записи при успешном выполнении
• false если запись не найдена
Примеры использования
Базовый пример получения постоянной ссылки для текущей записи
$permalink = get_permalink();
// Вывод постоянной ссылки
echo $permalink;
// Пример вывода: https://example.com/2023/10/01/sample-post/
Выводит ссылку на текущую запись
Получение постоянной ссылки для записи с ID 42
$post_id = 42;
$permalink = get_permalink($post_id);
// Вывод постоянной ссылки
echo $permalink;
// Пример вывода: https://example.com/?p=42
Проверить, что запись с таким ID существует
Безопасность
Валидация входных данных: Функция проверяет существование записи по переданному ID
Санитизация: WordPress автоматически очищает и валидирует входные данные
Рекомендации: Используйте esc_url() для безопасного вывода URL
— Связанные функции
Получает постоянную ссылку по ID записи, аналогично get_permalink()
Получает объект WP_Post по ID записи
— Хуки
Фильтрует постоянные ссылки перед их выводом
Фильтрует постоянные ссылки для пользовательских типов записей
— Примечания
– Ограничения
Возвращает false, если запись не существует или недоступна
– Частые проблемы
- Пустой результат при неверном ID
- Проблемы с постоянными ссылками, если структура URL не настроена