SO网友:Paul G.
为了解决这个问题,我编写了一个简单的自定义函数,基于这样的假设:如果请求的URI位于WordPress站点的Rest API URL之下,那么它就是Rest API请求。
它是有效的端点还是经过身份验证的端点,不由此函数确定。问题是:这个URL是一个潜在的RESTAPI URL吗?
function isRestUrl() {
$bIsRest = false;
if ( function_exists( \'rest_url\' ) && !empty( $_SERVER[ \'REQUEST_URI\' ] ) ) {
$sRestUrlBase = get_rest_url( get_current_blog_id(), \'/\' );
$sRestPath = trim( parse_url( $sRestUrlBase, PHP_URL_PATH ), \'/\' );
$sRequestPath = trim( $_SERVER[ \'REQUEST_URI\' ], \'/\' );
$bIsRest = ( strpos( $sRequestPath, $sRestPath ) === 0 );
}
return $bIsRest;
}
如果您的
$_SERVER[\'REQUEST_URI\']
未正确填充,此函数仍将返回
false
, 不管
URL没有硬编码,因此如果出于某种原因更改API URL库,这将适应。