Shortlinks — это модуль плагина Jetpack, который предоставляет быстрый способ получить короткие и простые ссылки на ваши записи и страницы. Для это он использует домен WP.me.
Этот модуль в последних версиях активирован по умолчанию. Если вы не видите описываемый функционал — посмотрите руководство по включению модуля.
Функциональность Shortlinks очень похожа на другие сервисы по сокращению ссылок, но есть и коренные отличия:
- Каждый пост на WordPress.com и сайтах с Jetpack уже имеют короткий URL в доменной зоне WP.me
- Ссылки эти публичные. Их можно увидеть в <head> вашего сайта внутри
rel=shortlink - Возможность присутствует только для URL сайтов, которые хостятся на WordPress.com
- Эти ссылки вечные и будут жить, пока жив сам WordPress.com
- Домен WP.me защищен от спама, присутствует мониторинг и удаление спама в атоматическом режиме.
Включение коротких ссылок для CPT
Тут есть два варианта: добавить возможность коротких ссылок после регистрации пользовательского типа записей или во время регистрации. Рассмотрим оба случая.
Чтобы добавить короткие ссылки для уже существующего типа пользовательских записей, воспользуемся функцией add_post_type_support(), добавив сниппет в functions.php вашей активной темы:
function mihdan_add_shortlinks_by_post_type_support() {
add_post_type_support( 'product', 'shortlinks' );
}
add_action( 'init', 'mihdan_add_shortlinks_by_post_type_support' );
Не забудьте заменить product на название вашего кастомного типа поста.
Вторым возможным решением данного вопроса может служить добавление коротких ссылок к CPT во время ее регистрации:
function mihdan_add_shortlinks_to_register_post_type() {
$labels = array(
'name' => _x( 'Products', 'Post Type General Name', 'text_domain' ),
);
$args = array(
'label' => __( 'product', 'text_domain' ),
'supports' => array( 'title', 'editor', 'shortlinks' ),
);
register_post_type( 'product', $args );
}
add_action( 'init', 'mihdan_add_shortlinks_to_register_post_type', 0 );
Если в вашей версии WordPress отсутствует кнопка для получения короткой ссылки, то вернуть её можно через фильтр get_shortlink:
function mihdan_restore_shortlink_button( $shortlink ) {
return $shortlink;
}
add_filter( 'get_shortlink', 'mihdan_restore_shortlink_button', 0 );