Add this code in `functions.php` function custom_rewrite_rule() { //Initializing Rewrite Tags add_rewrite_tag('%begin-date%', '([^&]+)'); add_rewrite_tag('%end-date%', '([^&]+)'); add_rewrite_tag('%offset%', '([^&]+)'); //Find page rewrite rules add_rewrite_rule('^find/([^/]*)/([^/]*)/([^/]*)/?','index.php?page_id=<SEARCH_PAGE_ID>&begin-date=$matches[1]&end-date=$matches[2]&offset=$matches[3]','top'); add_rewrite_rule('^find/([^/]*)/([^/]*)/?','index.php?page_id=<SEARCH_PAGE_ID>&begin-date=$matches[1]&end-date=$matches[2]','top'); flush_rewrite_rules(); } add_action('init', 'custom_rewrite_rule', 10, 0); On your custom search page template $begin_date = get_query_var('begin-date'); $end_date = get_query_var('end-date'); $offset = get_query_var('offset') ? get_query_var('offset') : 1; Create a page having slug `find` and apply a custom page template over it .. replace `<SEARCH_PAGE_ID>` with the newly created page ID and update the permalink structure! Use these values in your custom query in the page template! :)