Trying to Add Paging to Single Post Page

Well, I was able to solve this with a custom query string parameter: ?view=2 for the 2nd page, that just seems cludgy when the system already has a route for /page/2/ for example. It’s even more annoying to me that ?page= and ?p=, the most logical names for a paging query parameter, don’t work. WordPress … Read more

add_rewrite_rule – how to match exact whole word only?

Here’s the updated code with the explanation and last two lines added: Updated Code with Last Two Lines add_action(‘query_vars’, ‘add_query_vars’); function add_query_vars($vars) { $vars[] = ‘verify’; // Add ‘verify’ as a query variable return $vars; } add_action(‘init’, ‘verify_add_rewrite_rule’); function verify_add_rewrite_rule() { // Use ^verify/?$ to strictly match “verify” and ensure it ends there add_rewrite_rule(‘^verify/?$’, ‘index.php?verify=1&post_type=page’, … Read more

Display content based on multiple URL parameters—pretty URL or query string

you have a little error in the call of add_rewrite_rule with an extra slash before index.php. with this correction, your system works without a CPT like data. you can try that : add_action(‘init’, function () { add_rewrite_rule( ‘^data/([a-z0-9-]+)/([a-z0-9-]+)/([a-z0-9-]+)/?$’, ‘index.php?data_type=$matches[1]&data_action=$matches[2]&data_post_id=$matches[3]’, ‘top’ ); }); add_action(“template_redirect”, function () { $data = []; foreach ([“data_type”, “data_action”, “data_post_id”] as $key) … Read more

Rewrite taxonomy permalink appended to CPT archive url

There are 2 possible ways to fix the issue with the term’s permalinks (which is currently using the wrong query var name – intvn-cat): Easy. Just set the 3rd parameter for add_rewrite_tag() to intervention_cat=. I.e. add_rewrite_tag( ‘%intvn-cat%’, ‘(.+)’, ‘intervention_cat=” ); This is what I would actually do – Remove the add_rewrite_tag() part in your code, … Read more

How does WordPress manage to differentiate between post and page URLs without a distinct base, and how can I replicate this functionality?

I dont know how I missed out on that while looking for aproaches, but I have a working solution now based on this answer. I modified it to check for slashes in $query->request, if there is none I first look for my custom post type (get_posts() with’slug’ => $query->request). If no post is found I … Read more

How to add random prefix (based on related page slug) to custom post type?

Resolved! So I’ve added rewrite rule: add_rewrite_rule( ‘^[^\/]*\/review\/([^\/]*)$’, ‘index.php?review=$matches[1]’, ‘top’ ); And additional code to create appropriate url structure: function rev_update_slug( $post_link, $post, $leavename ) { if ( ‘review’ != $post->post_type || ‘publish’ != $post->post_status ) { return $post_link; } //** Field where related page post object stored in ACF field **// $pageid= get_field(‘related_home_inner_page’,$post->ID); $post_link … Read more

How to write ReWrite Rule to cut URL?

First add the rewrite rule: function wpse426504_add_rewrite() { add_rewrite_rule( ‘mycontent/events/([a-z0-9-]+)[/]?$’, ‘index.php?eventslug=$matches[1]’, ‘top’ ); } add_action( ‘init’, ‘wpse426504_add_rewrite’ ); function wpse426504_add_query_var( $query_vars ) { $query_vars[] = ‘eventslug’; return $query_vars; } ); add_filter( ‘query_vars’, ‘wpse426504_add_query_var’ ); That’s the basics of it. If you need to add a new template to handle displaying everything, you’d then hook to … Read more