admin管理员组

文章数量:1295927

I need to remove the parent slug in the permalink of a child post. The child post is of a different cpt than the parent post. So I get:

example/parentcpt/parent-post-name/child-post-name //which results to a 404.

I need

example/child-post-name

or:

example/childcpt/child-post-name

Switching between permalink structures doesnt help either. Ive tried a number of plugins but they dont solve. Adding the following doesnt help:

'rewrite' => array('slug' => false, 'with_front' => false)// register_post_type function

Someone help please ... :)

I need to remove the parent slug in the permalink of a child post. The child post is of a different cpt than the parent post. So I get:

example/parentcpt/parent-post-name/child-post-name //which results to a 404.

I need

example/child-post-name

or:

example/childcpt/child-post-name

Switching between permalink structures doesnt help either. Ive tried a number of plugins but they dont solve. Adding the following doesnt help:

'rewrite' => array('slug' => false, 'with_front' => false)// register_post_type function

Someone help please ... :)

Share Improve this question asked Mar 7, 2013 at 14:38 TimothyTimothy 1332 silver badges6 bronze badges
Add a comment  | 

1 Answer 1

Reset to default 2

I was able to solve this problem by adding the code below under my theme/functions.php file. (My custom post type slug is 'news')

            function df_custom_post_type_link( $post_link, $id = 0 ) {  
                $post = get_post($id);  
                if ( is_wp_error($post) || 'news' != $post->post_type || empty($post->post_name) )  
                    return $post_link;  
                return home_url(user_trailingslashit( "$post->post_name" ));  
            }
            add_filter( 'post_type_link', 'df_custom_post_type_link' , 10, 2 );
            function df_custom_rewrite_rule() {
                add_rewrite_rule('(.*?)$', 'index.php?news=$matches[1]', 'top');
            }
            add_action('init', 'df_custom_rewrite_rule');

本文标签: permalinksRemoving parent slug in hierachial custom post type