PHP:检查当前URL是否是已定义URL的一部分



我想检查当前URL是否是预定义URL的一部分。

例如:我想检查域example.com/shop/是否是查看的URL的一部分。

我使用以下函数来获取当前URL和预定义的($shop_page_url(URL:

function shop_page_url_condition(){
global $wp;
$shop_page_id = get_option( 'woocommerce_shop_page_id' );
$shop_page_url = get_permalink($shop_page_id );
$current_url = home_url(add_query_arg(array(), $wp->request).'/');
if( $shop_page_url == $current_url) {
return true;
} else {
return false;
}
}

在这种情况下,只有当$shop_page_url$current_url相同时,它才起作用。

但我想检查预定义的URL($shop_page_url(是否是当前URL(example.com/shop/page/7(的一部分。

您想要的是strpos吗?

如果我理解正确,你只想看看它是否返回false:

if ( strpos( $current_url, $shop_page_url ) !== false ) {
return true;
} else {
return false;
}

如果你想保存几行代码,你也可以简化上面的内容:

return strpos( $current_url, $shop_page_url ) !== false;

strpos() >= 0不起作用。如果根本找不到子字符串,那么这样做最终会返回true,这不是您想要的!

最新更新