Is there a PHP function that can match anything after the given URL, so my IF statement will work in each instance?

look for the string page/ and capture just the part of the url before it with strpos and substr: $url=”/players/type/pros/page/3/”; $find = ‘page/’; $trimmed_url = substr( $url, 0, strpos($url, $find) ); EDIT – so in the context of your question you could use: $url = $_SERVER[‘REQUEST_URI’]; $find = ‘page/’; $pos = strpos($url, $find); if($pos): $url … Read more

Change WordPress comments url / word

In your functions.php add ( there are other rules relating to comment pages you can see them all with Rewrite Rules Inspector plugin, this one just covers the case you mention ) add_rewrite_rule ( ‘(.?.+?)/customname-([0-9]{1,})/?$’, ‘index.php?pagename=$matches[1]&cpage=$matches[2]’, ‘top’ ); you’ll also need to find in your theme ( possibly in your function.php ) where the comments … Read more

Multilingual theme: Changing locale based on URL

My problem here is that get_query_var(‘language’) isn’t defined in the function set_my_locale Because get_locale (which applies the filter locale) is called before wp() (which parses the query & sets up the variables). You’ll have to manually inspect the request yourself: if ( strpos( $_SERVER[‘REQUEST_URI’], ‘/de/’ ) === 0 ) { // German } else { … Read more

Can not switch the queried post in pre_get_posts hook

Huh. I double-checked. On my local server, this bit of code successfully changes the post: function test_redirect() { global $wp_query; $wp_query->set(‘page_id’, 5); } add_action(‘pre_get_posts’, ‘test_redirect’); You’re going to have to do a bit of debugging. On a dev server, var_dump the $wp_query variable a few key places to check that it has what you expect … Read more