Описание функции get_post_permalink()
Функция get_post_permalink() возвращает постоянную ссылку на запись по её ID или объекту WP_Post. Используется для получения URL записи для отображения или перенаправления.
Подходит для всех типов записей, поддерживаемых WordPress, и может быть вызвана в любом месте, где необходимо получить URL записи.
Параметры
$post
Тип: mixed
Обязательный: Да
Описание: ID записи или объект WP_Post
Возможные значения:
Целое число, представляющее ID записи, Объект WP_Post
Возвращаемое значение
Тип: string|null
Описание: Постоянная ссылка на запись или null в случае ошибки
Возможные значения:
• Строка с URL записи при успешном выполнении
• null если запись не найдена или не опубликована
Примеры использования
Базовый пример получения постоянной ссылки по ID записи
$permalink = get_post_permalink(42);
// Вывод: https://example.com/?p=42
Получаем URL записи с ID 42
Получение постоянной ссылки через объект WP_Post
$post = get_post(42);
$permalink = get_post_permalink($post);
Работает так же, как и с ID
Обработка случая, когда запись не найдена
$permalink = get_post_permalink(9999);
if ($permalink === null) {
echo 'Запись не найдена';
}
Выводит сообщение, если запись с ID 9999 не существует
Пример использования в цикле темы
if (have_posts()) {
while (have_posts()) { the_post();
echo '' . get_the_title() . '';
}}
}
Выводит ссылки на каждую запись в цикле
Безопасность
Валидация входных данных: Параметр поста проверяется на наличие корректного ID или объекта
Санитизация: Функция автоматически обрабатывает входные параметры
Рекомендации: При выводе данных используйте esc_url() для URL
— Связанные функции
Получает постоянную ссылку на запись или страницу по ID
Получает объект WP_Post по ID
— Хуки
Фильтрует постоянные ссылки перед их отображением
— Примечания
– Ограничения
Возвращает null, если запись не опубликована или не существует
– Частые проблемы
- null при неверном ID записи
- Проблемы с восстановлением ссылок на несуществующие посты