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

wp_get_canonical_url() WP 4.6.0

Получает канонический URL записи (поста).

Если ID записи совпадает с ID текущего запроса, то функцию будет обрабатывать параметры пагинации.

Используется в: rel_canonical().
Работает на основе: get_permalink()
✈ 1 раз = 0.000338с = быстро | 50000 раз = 3.05с = быстро PHP 7.0.8, WP 4.6
Хуки из функции:
Возвращает

Строку/false. Канонический URL или false, если запись не существует или еще не опубликована.

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

wp_get_canonical_url( $post );
$post(число/WP_Post)
ID или объект записи.
По умолчанию: null (текущая запись)

Примеры

#1 Выведем канонический URL записи 803

echo wp_get_canonical_url(803); 
// выведет: http://wp-kama.ru/id_803/pishem-pravilnyiy-robotstxt-dlya-wordpress.html

Код wp get canonical url: wp-includes/link-template.php WP 4.9

<?php
function wp_get_canonical_url( $post = null ) {
	$post = get_post( $post );

	if ( ! $post ) {
		return false;
	}

	if ( 'publish' !== $post->post_status ) {
		return false;
	}

	$canonical_url = get_permalink( $post );

	// If a canonical is being generated for the current page, make sure it has pagination if needed.
	if ( $post->ID === get_queried_object_id() ) {
		$page = get_query_var( 'page', 0 );
		if ( $page >= 2 ) {
			if ( '' == get_option( 'permalink_structure' ) ) {
				$canonical_url = add_query_arg( 'page', $page, $canonical_url );
			} else {
				$canonical_url = trailingslashit( $canonical_url ) . user_trailingslashit( $page, 'single_paged' );
			}
		}

		$cpage = get_query_var( 'cpage', 0 );
		if ( $cpage ) {
			$canonical_url = get_comments_pagenum_link( $cpage );
		}
	}

	/**
	 * Filters the canonical URL for a post.
	 *
	 * @since 4.6.0
	 *
	 * @param string  $canonical_url The post's canonical URL.
	 * @param WP_Post $post          Post object.
	 */
	return apply_filters( 'get_canonical_url', $canonical_url, $post );
}

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

Из раздела: Остальное

wp_get_canonical_url Комментариев нет

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

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