rel_canonical()
云策文档标注
概述
rel_canonical() 函数用于在 WordPress 中为单篇文章查询输出 rel=canonical 链接标签,以指定规范 URL,帮助搜索引擎优化和避免重复内容问题。
关键要点
- 函数仅在 is_singular() 返回 true 时执行,即当前查询为单篇文章(包括文章、附件、页面或自定义文章类型)。
- 通过 get_queried_object_id() 获取当前查询对象的 ID,如果 ID 为 0 则直接返回。
- 使用 wp_get_canonical_url() 获取规范 URL,并通过 esc_url() 清理后输出 HTML 链接标签。
- 此函数自 WordPress 2.9.0 引入,并在 4.6.0 版本中调整为使用 wp_get_canonical_url()。
代码示例
function rel_canonical() {
if ( ! is_singular() ) {
return;
}
$id = get_queried_object_id();
if ( 0 === $id ) {
return;
}
$url = wp_get_canonical_url( $id );
if ( ! empty( $url ) ) {
echo '<link rel="canonical" href="' . esc_url( $url ) . '" />' . "n";
}
}注意事项
- 确保在主题或插件中正确调用此函数,通常通过 wp_head 钩子自动执行。
- 如果自定义查询或特殊情况需要,开发者可以覆盖或修改此函数的行为。
原文内容
Outputs rel=canonical for singular queries.
Source
function rel_canonical() {
if ( ! is_singular() ) {
return;
}
$id = get_queried_object_id();
if ( 0 === $id ) {
return;
}
$url = wp_get_canonical_url( $id );
if ( ! empty( $url ) ) {
echo '<link rel="canonical" href="' . esc_url( $url ) . '" />' . "n";
}
}