Как добавить сокращенные ссылки к произвольным типам записей в WordPress

Если вы пользуетесь социальными сетям, в частности Twitter, то наверняка сталкивались с «короткими ссылками» — укороченные URL, которые срабатывают как метки, указывая на определенную страницу, но при этом укорачивая ее ссылку. Короткие ссылки существуют уже много лет, однако их распространение началось именно с социальными сетями, когда короткие ссылки стали предоставлять статистику кликов и помогли уменьшить количество символов для твитов.

В WordPress есть собственные встроенные короткие ссылки, которые, по-умолчанию, не заслуживают своего названия. Это ссылки типа www.yoursite.com?p=1, которые ссылаются на отдельную запись, их можно получить, нажав на кнопку «Получить ссылку» в редакторе записей.

И для этого есть причина: WordPress не хочет навязывать ни один из сторонних сервисов для сокращения ссылок, и при этом позволяет заменить стандартные ссылки www.yoursite.com?p=1 с помощью API на использование сторонних сервисов, или даже возможно вашего собственного.

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

Берем открытый исходный код, находим функцию wp_get_shortlink() (смотрим Codex) и получаем следующее:

Используем хук pre_get_shortlink, и таким образом разрешаем себе обойти стандартную обработку WordPress коротких ссылок. Для этого нам нужно только перехватит этот фильтр и вернуть что-либо кроме ‘false’.

Обратите внимание, что вам не нужно изменять короткие ссылки, важно возвращать $shortlink (отфильтрованное значение, которое мы получили с помощью хука), и не ‘false’, потому как плагины уже могли изменить $shortlink, а вернув ложное значение, мы перезапишем их.

Надеемся, что эта статья помогла вам разобраться с тем, как добавлять сокращенные ссылки к произвольным типам записей.

По всем вопросам и отзывам просьба писать в комментарии ниже.

Не забывайте, по возможности, оценивать понравившиеся записи количеством звездочек на ваше усмотрение.

Источник

Written by: