I want to check of the current URL is part of a pre-defined URL.
For example: I want to check if the domain example.com/shop/
is part of the viewed URL.
I’m using the following function to get the current URL and a pre-defined ($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;
}
}
In this case it only works if the $shop_page_url
is the same as the $current_url
.
But I want to check if pre-defined URL ($shop_page_url
) is part of the current URL (example.com/shop/page/7
).
Advertisement
Answer
Is strpos
what you’re looking for?
If I’m understanding correctly, you would just want to see if it returns false:
if ( strpos( $current_url, $shop_page_url ) !== false ) {
return true;
} else {
return false;
}
You could also simplify the above if you wanted to save a few lines of code:
return strpos( $current_url, $shop_page_url ) !== false;
strpos() >= 0
won’t work. If the substring is not found at all, doing that will end up returning true
, which is not what you’d want here!