Unique URL Every Time

You could use a partial implementation of JWTs to pass a unique token including identifying information and the requested post ID (or slug) as the endpoint, and check the identifying info upon validation. URLs containing a unique token can be rewritten to pass the token as a specific variable. A ‘parse_query’ action hook can then … Read more

Custom Permalinks for Blog Posts Only

Even though this is no longer a problem for you, I decided to pursue it for purely academic reasons. I got it working by prepending rewrite rules and filtering permalinks. Note that I wouldn’t actually recommend doing this, but it’s fun to know it’s possible 🙂 function filter_post_link($permalink, $post) { if ($post->post_type != ‘post’) return … Read more

Use subdomain for certain urls

Try this (untested): # BEGIN Forums Rewrite RewriteCond %{HTTP_HOST} !^www\.domain.com RewriteCond %{HTTP_HOST} ([^.]+)\.domain.com RewriteRule ^(.*)$ forums/%1 # END Forums Rewrite It should work with both your requirements. You don’t need the second one (rewriting the forums folder to subdomain) because rewriting the actual forum ID will override the basic subdomain rewriting forums.domain.com/forumid=16. You should add … Read more

Multiple endpoints to same page

Okay… here’s how you add the rule. <?php add_action(‘init’, ‘add_my_rule’); function add_my_rule() { add_rewrite_rule(‘^test\/link.*$’,’index.php?pagename=about’,’top’); } ?> This rule will ensure that when you visit a url like http://…/test/link or http://…/test/link<xyz>, you are redirected to the about page (please make sure the slug for about page is ‘about’). Also, http://…/test/, will take you the test page … Read more

Adding rewrite endpoint breaks static front page

Maybe I did not get this very well, but if you need to just remove ‘foo’ from query vars would not be much more simple to use the ‘request’ filter and remove the var from there? Code needed: add_filter(‘request’, function($query_vars) { return array_diff_key($query_vars, array(‘foo’=>”)); }); It: runs on main query only remove the var for … Read more

rewrite rules and querystring

You can add your own rewrite rule which will let you tweak the query via URL parameters: add_action( ‘init’, ‘rewrite_photo_url’ ); function rewrite_photo_url() { add_rewrite_rule( ‘photos/([^/]+)/?$’,’index.php?page=photos&photo_id=$matches[1]’, ‘top’ ); } If you need to use a custom variable, i.e. ‘photo_id’, you have to register the variable so it will be recognized by the query: add_filter( ‘query_vars’, … Read more