get_canonical_url
云策文档标注
概述
get_canonical_url 是一个 WordPress 过滤器,用于修改文章的规范 URL。它允许开发者通过自定义逻辑覆盖默认的规范 URL 值。
关键要点
- 过滤器名称:get_canonical_url
- 参数:$canonical_url(字符串,文章的规范 URL)和 $post(WP_Post 对象,文章对象)
- 用途:在 wp_get_canonical_url() 函数中调用,用于返回文章的规范 URL
- 引入版本:WordPress 4.6.0
代码示例
function wpdocs_edit_canonical_urls( $original_url, $post ) {
$override_url = get_post_meta( $post->ID, 'canonical_url', true );
if ( empty( $override_url ) ) {
return $original_url;
}
return $override_url;
}
add_filter( 'get_canonical_url', 'wpdocs_edit_canonical_urls', 10, 2 );
原文内容
Filters the canonical URL for a post.
Parameters
$canonical_urlstring-
The post’s canonical URL.
$postWP_Post-
Post object.
Source
return apply_filters( 'get_canonical_url', $canonical_url, $post );
Changelog
| Version | Description |
|---|---|
| 4.6.0 | Introduced. |
Skip to note 2 content
Matt Calvert
An example of using this filter. In this I am setting the canonical url through ACF in a field called ‘canonical_url’.
function wpdocs_edit_canonical_urls( $original_url, $post ) { $override_url = get_post_meta( $post->ID, 'canonical_url', true ); if ( empty( $override_url ) ) { return $original_url; } return $override_url; } add_filter( 'get_canonical_url', 'wpdocs_edit_canonical_urls', 10, 2 );