Функция wp_get_shortlink()
предназначена для создания коротких ссылок в WordPress, которые можно использовать для быстрого перехода к записи, странице или сайту. Это особенно удобно для социальных сетей, поскольку короткие ссылки занимают меньше места и позволяют легко делиться контентом.
wp_get_shortlink( int $id = 0, string $context = 'post', bool $allow_slugs = true ): string
Параметры
- $id (int, необязательный) — Идентификатор записи, страницы или сайта. По умолчанию
0
, что означает текущую запись или сайт. - $context (string, необязательный) — Указывает, к какому типу контента относится переданный ID. Возможные значения:
'post'
(по умолчанию),'site'
,'media'
,'query'
. В зависимости от контекста, WordPress определяет, какой URL возвращать. - $allow_slugs (bool, необязательный) — Определяет, разрешать ли использование слагов (коротких имен) в ссылках. Обычно используется для добавления совместимости с плагинами.
Возвращаемое значение
Функция возвращает строку с короткой ссылкой на указанный ресурс или пустую строку, если короткая ссылка недоступна.
Пример 1: Получение короткой ссылки на текущую запись
Чтобы получить короткую ссылку на текущую запись, просто используйте функцию без параметров. Такой подход автоматически возьмет ID текущего поста и выведет короткий URL, например, в формате http://example.com/?p=1234
.
echo 'Короткая ссылка: ' . wp_get_shortlink();
Результат:
Короткая ссылка: http://example.com/?p=1234
Пример 2: Получение короткой ссылки для определенного ID записи
Если нужно получить короткую ссылку для конкретной записи, можно передать её ID. Например, чтобы получить ссылку на запись с ID 501
, используйте следующий код:
$shortlink = wp_get_shortlink( 501 );
if ( $shortlink ) {
echo 'Короткая ссылка для записи 501: ' . $shortlink;
} else {
echo 'Короткая ссылка недоступна для записи 501.';
}
Результат:
Короткая ссылка для записи 501: http://example.com/?p=501
Пример 3: Вывод короткой ссылки на главную страницу сайта
Если передать 0
как ID и указать site
в параметре $context
, функция вернет короткий URL для главной страницы сайта. Такой подход полезен для создания ссылки на основной домен сайта, а не на конкретные записи.
echo 'Короткая ссылка на сайт: ' . wp_get_shortlink( 0, 'site' );
Результат:
Короткая ссылка на сайт: http://example.com/
Пример 4: Удаление короткой ссылки из заголовков страницы
Иногда короткие ссылки автоматически добавляются в раздел <head>
страницы и в HTTP-заголовки. Чтобы удалить короткую ссылку из заголовков, можно использовать remove_action()
для удаления соответствующих хуков:
remove_action( 'wp_head', 'wp_shortlink_wp_head' ); // Удаление из <head>
remove_action( 'template_redirect', 'wp_shortlink_header', 11 ); // Удаление из заголовков ответа
Этот код предотвращает добавление короткой ссылки в HTML-заголовок страницы и HTTP-заголовок.
Пример 5: Генерация короткой ссылки для текущего запроса (контекст «query»)
Когда нужно получить короткую ссылку для текущего запроса, можно указать query
в параметре $context
. Этот способ полезен, когда URL зависит от параметров текущего запроса:
$current_shortlink = wp_get_shortlink( 0, 'query' );
echo 'Короткая ссылка текущего запроса: ' . esc_url( $current_shortlink );
Заключение
Функция wp_get_shortlink()
предоставляет универсальный способ создания коротких ссылок в WordPress, которые можно интегрировать в темы, плагины и шорткоды. Она поддерживает создание коротких ссылок не только для записей и страниц, но и для всего сайта, обеспечивая дополнительную гибкость для разработчиков и пользователей.