the_shortlink

Выводит короткую ссылку на пост (/?p=1234).

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

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

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

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

Хуки из функции:
the_shortlink
Возвращает

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>

  1. Выведем ссылку внутри 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.

Код из


wp-includes/link-template.php

WP 4.7.2

<?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;
	}
}

Комментарии:


Оставить комментарий

Your email address will not be published. Required fields are marked *