Описание
Возвращает короткую ссылку на статью (пост).
Эта функция существует, чтобы создавать короткую, неизменную ссылку в шаблонах и плагинах, использовать которую можно будет вне зависимости от установленного типа ЧПУ.
Этот тег шаблона предназначен для получения короткой ссылки на пост/блог, когда на блоге включено ЧПУ (Человеко-понятные УРЛ). Такую короткую ссылку удобно использовать для размещения заметок в социальных сетях (twitter).
Такие, короткие, внешние ссылки никак отрицательно не сказывается на поисковой оптимизации (SEO), потому что при переходе по такой ссылке, поискового робота перекидывает на нормальный УРЛ с использованием 301 редиректа (указание что страница перемещена), в результате чего весь вес передается оригинальной странице.
wp_get_shortlink() используется в: the_shortlink().
Функция возвращает короткую ссылку или пустую строку, если короткой ссылки не существует на запрашиваемый ресурс, или если ссылка не доступна.
Использование
<?php echo wp_get_shortlink($id, $context, $allow_slugs); ?>
Параметры
- $id (число)
- ID поста или блога. По умолчанию 0, значит что используется текущий блог или пост.
По умолчанию: 0 (текущий пост) - $context (строка)
- Пояснение какой ID указан в параметре $id:
post - ID поста;
blog - ID блога;
media - медиа-файла;
query- будет выведена короткая ссылка текущего запроса (параметры $id и $context будут получены из текущего запроса).Если указано post (по умолчанию), то тип поста будет установлен автоматически.
По умолчанию: 'post' - $allow_slugs (логический)
- Допускать ли использование слагов (альтернативных названий) в ссылках. Этот параметр предназначен для хуков и плагинов.
По умолчанию: true
Примеры
1. Базовый пример.
Выведем короткую ссылку на текущую статью:
Короткая ссылка: <?php echo wp_get_shortlink(); ?>
Короткая ссылка: http://example.com/?p=1234
wp_get_shortlink()
из файла: /wp-includes/link-template.php WP 3.3.2function wp_get_shortlink($id = 0, $context = 'post', $allow_slugs = true) {
// Allow plugins to short-circuit this function.
$shortlink = apply_filters('pre_get_shortlink', false, $id, $context, $allow_slugs);
if ( false !== $shortlink )
return $shortlink;
global $wp_query;
$post_id = 0;
if ( 'query' == $context && is_single() ) {
$post_id = $wp_query->get_queried_object_id();
} elseif ( 'post' == $context ) {
$post = get_post($id);
$post_id = $post->ID;
}
$shortlink = '';
// Return p= link for posts.
if ( !empty($post_id) && '' != get_option('permalink_structure') ) {
$post = get_post($post_id);
if ( isset($post->post_type) && 'post' == $post->post_type )
$shortlink = home_url('?p=' . $post->ID);
}
return apply_filters('get_shortlink', $shortlink, $id, $context, $allow_slugs);
}Связанные Функции
Ещё из раздела
Смотрите также: Функции WordPress и Теги Шаблона.
Выбрать мягкую мебель для дома - дело сложное, тем-более сейчас, когда так широк выбор. В частности, к такой мебели относиться угловой диван, подобрать фасон и цвет, материал и качество всегда сложно, к тому же это продукция с довольно высокой ценой, что еще больше усложняет выбор.
Решил написать карту сайта, как простой "выводник" всех постов в виде: название, как кликабельная ссылка с полным путём, затем короткая ссылка сама себе анкор.
<?php /* Template Name: Sitemap-shortlinks */ ?> <h3>Карта сайта </h3> <?php query_posts('showposts=500'); ?> <ul> <?php while (have_posts()) : the_post(); ?> <li> <a href="<?php the_permalink() ?>"><?php the_title(); ?></a> </li> <li> <a href="<?php echo wp_get_shortlink(the_post()); ?>"><?php echo the_title(wp_get_shortlink(the_post())); ?></a> </li> <?php endwhile;?> </ul>Получаю: короткие ссылки вставляются на разных шагах цикла, т.е. текст короткой ссылки один, сама ссылка другая, а статья, куда она должна вести, третья. Что не так?