get_sitemap_url()
云策文档标注
概述
get_sitemap_url() 函数用于检索站点地图的完整 URL,支持指定名称、子类型和页码参数。如果站点地图不存在,则返回 false。
关键要点
- 函数签名:get_sitemap_url( $name, $subtype_name = '', $page = 1 )
- 参数:$name(必需,站点地图名称),$subtype_name(必需,站点地图子类型名称,默认空字符串),$page(可选,站点地图页码,默认 1)
- 返回值:string|false,成功时返回 URL,失败时返回 false
- 内部逻辑:通过 wp_sitemaps_get_server() 获取服务器实例,检查名称是否为 'index' 以返回索引 URL,否则获取提供者并验证子类型和页码
- 相关函数:wp_sitemaps_get_server() 和 absint() 用于内部处理
- 引入版本:WordPress 5.5.1
代码示例
function get_sitemap_url( $name, $subtype_name = '', $page = 1 ) {
$sitemaps = wp_sitemaps_get_server();
if ( ! $sitemaps ) {
return false;
}
if ( 'index' === $name ) {
return $sitemaps->index->get_index_url();
}
$provider = $sitemaps->registry->get_provider( $name );
if ( ! $provider ) {
return false;
}
if ( $subtype_name && ! in_array( $subtype_name, array_keys( $provider->get_object_subtypes() ), true ) ) {
return false;
}
$page = absint( $page );
if ( 0 >= $page ) {
$page = 1;
}
return $provider->get_sitemap_url( $subtype_name, $page );
}
原文内容
Retrieves the full URL for a sitemap.
Parameters
$namestringrequired-
The sitemap name.
$subtype_namestringrequired-
The sitemap subtype name. Default empty string.
$pageintoptional-
The page of the sitemap.
Default:
1
Source
function get_sitemap_url( $name, $subtype_name = '', $page = 1 ) {
$sitemaps = wp_sitemaps_get_server();
if ( ! $sitemaps ) {
return false;
}
if ( 'index' === $name ) {
return $sitemaps->index->get_index_url();
}
$provider = $sitemaps->registry->get_provider( $name );
if ( ! $provider ) {
return false;
}
if ( $subtype_name && ! in_array( $subtype_name, array_keys( $provider->get_object_subtypes() ), true ) ) {
return false;
}
$page = absint( $page );
if ( 0 >= $page ) {
$page = 1;
}
return $provider->get_sitemap_url( $subtype_name, $page );
}
Changelog
| Version | Description |
|---|---|
| 5.5.1 | Introduced. |