Adding page subdirectory dynamically, as like buddypress does
This should do what you want: add_action(‘generate_rewrite_rules’, ‘wpse128082_add_rewrite_rule’); function wpse128082_add_rewrite_rule($wp_rewrite) { $new_rules = array( ‘^charts/(.*)’ => ‘index.php?pagename=charts&something=’.$wp_rewrite->preg_index(1), ); $wp_rewrite->rules = $new_rules + $wp_rewrite->rules; } add_filter(‘query_vars’, ‘wpse128082_add_query_var’); function wpse128082_add_query_var($query_vars) { $query_vars[] = ‘something’; return $query_vars; } On your Charts page, you can access the new query var with get_query_var(‘something’).