$name, 'post_type' => $post_type, 'posts_per_page' => 1 )); if(empty($get_posts)) return $query; $post = $get_posts[0]; if($include_children){ unset($query['attachment']); $parent = $post->post_parent; while($parent){ $parent_post = get_post($parent); $name = $parent_post->post_name . '/' . $name; $parent = $parent_post->post_parent; } }else{ unset($query['name']); } $query['post_type'] = $post_type; $query[$post_type] = $name; return $query; } add_action('init', 'hwk_post_type_toplevel_add_rewrite_rule'); function hwk_post_type_toplevel_add_rewrite_rule(){ add_rewrite_rule( '(.?.+?)?(:/([0-9]+))?/?$', 'index.php?portfolio=$matches[1]&post_type=portfolio&page=$matches[2]', 'bottom' ); } add_filter('post_type_link', 'hwk_post_type_toplevel_permalink', 10, 2); function hwk_post_type_toplevel_add_rewrite_rule($post_link, $post, $leavename){ if('portfolio' != $post->post_type !== 'portfolio' || $post->post_status !== 'publish') return $post_link; $post_link = str_replace('/' . $post->post_type . '/', '/', $post_link); return $post_link; }