get_canonical_url хук-фільтрWP 4.6.0

Дозволяє змінити канонічне посилання WordPress для постів.

Метатег сanonicalвикористовується пошуковими системами тільки в одному випадку: коли пошукова система виявила дублюючий контент, і при цьому у неї не достатньо своїх підстав для вибору канонічної адреси. У всіх інших випадках canonical ігнорується.

Використання

add_filter( 'get_canonical_url', 'wp_kama_get_canonical_url_filter', 10, 2);

/**
 * Function for `get_canonical_url` filter-hook.
 *
 * @param string $canonical_url The post's canonical URL.
 * @param WP_Post $post Post об'єкт.
 *
 * @return string
 */
function wp_kama_get_canonical_url_filter( $canonical_url, $post ){

	// Filter...
	return $canonical_url;
}
$canonical_url
(рядок)
Канонічна посилання посту.
$post
(WP_Post)
Об’єкт посту.

Приклади

1

#1 Змінимо канонічне посилання посту

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

Наприклад:
/my-post/URL запису.
/my-post/gallery/– URL статичної дочірньої сторінки запису.

За замовчуванням для таких нестандартних записів метатег canonical буде таким же, як для запису. Але це окремі сторінки з різним контентом і канонічна посилання також повинна відрізнятися.

Щоб такі сторінки мали своє канонічна посилання створимо наступний хук:

add_filter( 'get_canonical_url', 'subpages_canonical', 10, 2);

function subpages_canonical( $canonical_url, $post ){

	if( $subpage = get_query_var('post_subpage') ){
		$canonical_url = user_trailingslashit( rtrim( get_permalink( $post ), '/' ) ."/$subpage" );
	}

	return $canonical_url;
}

список змін

З версії 4.6.0Введено.

Де викликається хук

get_canonical_url

wp-includes/link-template.php 3951

return apply_filters( 'get_canonical_url', $canonical_url, $post);

Де використовується хук у WordPress

Використання не знайдено.

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *