WordPress как на ладони
wordpress jino

the_shortlink() WP 3.0.0

Выводит короткую ссылку текущей записи, например: /?p=1234.

Этот Тег шаблона выводит текст-ссылку, которая ведет на текущий пост, но в УРЛе ссылки используется короткая ссылка вида: /?p=1234.

Такие ссылки логично использовать для сайтов где используются ЧПУ (человеко-понятные УРЛы).

Если нужно получить именно короткий УРЛ, то используйте функцию: wp_get_shortlink( $post->ID ).

Даже если у вас на сайте включены ЧПУ такие коротки ссылки с других сайтов на ваш считаются, поисковыми машинами, такими же как и обычные ссылки, потому что короткие ссылки используют 301 редирект на реальную ссылку.

Работает на основе: wp_get_shortlink()
✈ 1 раз = 0.001029с = очень медленно | 50000 раз = 4.65с = быстро PHP 7.1.2, WP 4.7.3
Хуки из функции:
Возвращает

html тег A - ссылку на текущий пост.

Использование

<?php the_shortlink( $text, $title, $before, $after ); ?>
$text(строка)
Текст ссылки.
По умолчанию: 'Это короткая ссылка.' ('This is the short link.')
$title(строка)
Текст для атрибута title у тега <a>
По умолчанию: Заголовок записи
$before(строка)
Текст перед ссылкой.
По умолчанию: нет
$after(строка)
Текст после ссылки.
По умолчанию: нет

Примеры

#1. Выведем короткую ссылку с текстом "Это короткая ссылка":

<?php the_shortlink(); ?>

Получим:

<a rel="shortlink" href="http://site.ru/?p=1234" title="заголовок записи" >Это короткая ссылка</a>

#2. Выведем ссылку внутри html тегов

Теги будут появляться только когда выводится короткая ссылка:

<?php the_shortlink('Короткая ссылка', null, '<div class="shortlink'>", '</div>'); ?>

Получим:

<div class='shortlink'><a rel="shortlink" href="http://site.ru/?p=1234" title="заголовок записи" >Короткая ссылка</a></div>

Заметки

  • Использует wp_get_shortlink()

  • Использует фильтр the_shortlink.

Код the shortlink: wp-includes/link-template.php VER 4.9.1

<?php
function the_shortlink( $text = '', $title = '', $before = '', $after = '' ) {
	$post = get_post();

	if ( empty( $text ) )
		$text = __('This is the short link.');

	if ( empty( $title ) )
		$title = the_title_attribute( array( 'echo' => false ) );

	$shortlink = wp_get_shortlink( $post->ID );

	if ( !empty( $shortlink ) ) {
		$link = '<a rel="shortlink" href="' . esc_url( $shortlink ) . '" title="' . $title . '">' . $text . '</a>';

		/**
		 * Filters the short link anchor tag for a post.
		 *
		 * @since 3.0.0
		 *
		 * @param string $link      Shortlink anchor tag.
		 * @param string $shortlink Shortlink URL.
		 * @param string $text      Shortlink's text.
		 * @param string $title     Shortlink's title attribute.
		 */
		$link = apply_filters( 'the_shortlink', $link, $shortlink, $text, $title );
		echo $before, $link, $after;
	}
}

Cвязанные функции

Из метки: link ссылка (HTML тег A)

Еще из раздела: Остальное

the_shortlink 2 комментария
  • Ruslan

    Здравствуйте!
    Спасибо за статью. Такой вопрос, может ли этот шортлинк
    негативно влиять на сео оптимизацию ?

    Хотя если я вбиваю http://sitename.com/?p=619 или так http://sitename.com/uroki/php/urok1 то страница открывается одна и та же.

    -)

    Ответить4 года назад #
    • Kama4697

      Отрицательно влиять не должен, там 301 редирект с короткой ссылки на страницу с постоянной ссылкой...

      Ответить4 года назад #

Здравствуйте, !

Ваш комментарий