$conf, $runtime; function_exists('chdir') AND chdir(APP_PATH); $r = 'mysql' == $conf['cache']['type'] ? website_set('runtime', $runtime) : cache_set('runtime', $runtime); } function runtime_truncate() { global $conf; 'mysql' == $conf['cache']['type'] ? website_set('runtime', '') : cache_delete('runtime'); } register_shutdown_function('runtime_save'); ?>rewrite rules - Wordpress CPT slug and page slug conflicts|Programmer puzzle solving
最新消息:Welcome to the puzzle paradise for programmers! Here, a well-designed puzzle awaits you. From code logic puzzles to algorithmic challenges, each level is closely centered on the programmer's expertise and skills. Whether you're a novice programmer or an experienced tech guru, you'll find your own challenges on this site. In the process of solving puzzles, you can not only exercise your thinking skills, but also deepen your understanding and application of programming knowledge. Come to start this puzzle journey full of wisdom and challenges, with many programmers to compete with each other and show your programming wisdom! Translated with DeepL.com (free version)

rewrite rules - Wordpress CPT slug and page slug conflicts

matteradmin10PV0评论

I have one page slug "new-site" also i have another custom post type with same slug "new-site" while i browse site then it directally goes to archive page and show all the posts from CPT new site.

How can i solve if i open with this url to page and for cpt post detail.

Thanks

I have one page slug "new-site" also i have another custom post type with same slug "new-site" while i browse site http://example/new-site then it directally goes to archive page and show all the posts from CPT new site.

How can i solve if i open with this url to page http://example/new-site and http://example/new-site/post-slug for cpt post detail.

Thanks

Share Improve this question asked Mar 8, 2016 at 7:42 PusPus 1034 bronze badges 2
  • And the archive of CPT? Do you want it? – cybmeta Commented Mar 8, 2016 at 7:52
  • I dont need archive CPT, i just need to open page while i enter example/new-site and i need CPT single page while i open example/new-site/post-slug – Pus Commented Mar 8, 2016 at 7:54
Add a comment  | 

1 Answer 1

Reset to default 2

As you don't need the CPT archvie, the easiest way to use example/new-site to open a page, and example/new-site/post-slug to open single posts of "new-site" post type, is to declare has_archive => false when registering the CPT:

add_action( 'init', 'cyb_register_cpt' );
function cyb_register_cpt() {
    $args = array(
      // .....
      'has_archive' => false
    );
    register_post_type( 'new-site', $args );
}

PD: Remember to flush the rewrite rules:

add_action( 'init', 'cyb_register_cpt' );
function cyb_register_cpt() {
    $args = array(
      // .....
      'has_archive' => false
    );
    register_post_type( 'new-site', $args );
}

register_activation_hook( __FILE__, function () {
    cyb_register_cpt();
    flush_rewrite_rules();
} );

register_deactivation_hook( __FILE__, function () {
    flush_rewrite_rules();
} );
Post a comment

comment list (0)

  1. No comments so far