函数文档

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

Return

string|false The sitemap URL or false if the sitemap doesn’t exist.

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.