我想检查当前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
,这不是您想要的!