Benutzerdefinierte Beitragstypen und Neuschreibungsregeln – Ein CPT funktioniert und ein geklonter funktioniert nicht

Ich habe zwei benutzerdefinierte Post-Typen in meinem Plugin und habe eine benutzerdefinierte single {cpt} .php-Datei für jeden in meinem Thema. Jede Seite erfasst den Inhalt eines bestimmten WordPress-Posts. Der erste “Haus” -Post funktioniert, aber die zweite “Renn” -URL erhält eine 404-Nachricht und gibt dann diese Standard-Homepage zurück.

Die Arbeits-URL ist

http://bhaa.ie/house/esb 

Die kaputte URL ist

 http://bhaa.ie/race/aib-nui-2w-2014/ 

Der Code für den arbeitenden CPT ist

 function bhaa_register_cpt_house() { $houseLabels = array( 'name' => _x( 'Houses', 'house' ), 'singular_name' => _x( 'House', 'house' ), 'add_new' => _x( 'Add New', 'house' ), 'add_new_item' => _x( 'Add New House', 'house' ), 'edit_item' => _x( 'Edit House', 'house' ), 'new_item' => _x( 'New House', 'house' ), 'view_item' => _x( 'View House', 'house' ), 'search_items' => _x( 'Search Houses', 'house' ), 'not_found' => _x( 'No houses found', 'house' ), 'not_found_in_trash' => _x( 'No houses found in Trash', 'house' ), 'parent_item_colon' => _x( 'Parent House:', 'house' ), 'menu_name' => _x( 'BHAA Houses', 'house' ), ); $houseArgs = array( 'labels' => $houseLabels, 'hierarchical' => true, 'description' => 'BHAA House Details', 'supports' => array('title','editor','excerpt','thumbnail','comments'),// add 'page-attributes' for parent hierarchy 'taxonomies' => array('sector','category'), 'public' => true, 'show_ui' => true, 'show_in_menu' => true, 'show_in_nav_menus' => true, 'publicly_queryable' => true, 'exclude_from_search' => false, 'has_archive' => true, 'query_var' => true, 'can_export' => true, 'rewrite' => true, 'capability_type' => 'post' ); register_post_type( 'house', $houseArgs ); } 

Die single-house.php hat folgenden Code

 <div class='container_wrap main_color '> 
<div class='content units '> post_content); echo $content;

Und das Rennen CPT ist

 public function bhaa_register_race_cpt() { $raceLabels = array( 'name' => _x( 'Races', 'race' ), 'singular_name' => _x( 'Race', 'race' ), 'add_new' => _x( 'Add New', 'race' ), 'add_new_item' => _x( 'Add New Race', 'race' ), 'edit_item' => _x( 'Edit race', 'race' ), 'new_item' => _x( 'New race', 'race' ), 'view_item' => _x( 'View race', 'race' ), 'search_items' => _x( 'Search races', 'race' ), 'not_found' => _x( 'No races found', 'race' ), 'not_found_in_trash' => _x( 'No races found in Trash', 'race' ), 'parent_item_colon' => _x( 'Parent event:', 'event' ), 'menu_name' => _x( 'BHAA Races', 'race' ), ); $raceArgs = array( 'labels' => $raceLabels, 'hierarchical' => true, 'description' => 'BHAA Race', 'supports' => array('title','excerpt','editor'), 'public' => true, 'show_ui' => true, 'show_in_menu' => true, 'show_in_nav_menus' => true, 'exclude_from_search' => false, 'has_archive' => true, 'query_var' => true, 'can_export' => true, 'publicly_queryable' => true, 'rewrite' => true, // array('slug' => 'race','with_front' => false), 'capability_type' => 'post' ); register_post_type( 'race', $raceArgs ); } 

Die single-race.php folgt dem gleichen Muster

 <div class='container_wrap main_color '> 
<div class='content units '> query_vars); $page = get_page_by_title('race-page-template'); error_log($page); $content = apply_filters('the_content', $page->post_content); error_log($content);

Meine ‘Permalink Einstellungen’ sind ‘Postname http://bhaa.ie/sample-post/ ‘ und ich habe die ‘rewrite_rules’ Optionseinstellungen in der DB gelöscht und neu erstellt ohne Wirkung.

Ich habe dieses Snippet der “rewrite_rules” -Einstellungen aufgenommen, die zeigen, dass der “race” post_type in der Konfiguration erscheint.

 s:7:"race/?$";s:24:"index.php?post_type=race";s:37:"race/feed/(feed|rdf|rss|rss2|atom)/?$"; s:41:"index.php?post_type=race&feed=$matches[1]";s:32:"race/(feed|rdf|rss|rss2|atom)/?$"; s:41:"index.php?post_type=race&feed=$matches[1]";s:24:"race/page/([0-9]{1,})/?$"; 

Kann jemand vorschlagen, wie ich feststellen kann, warum die zweiten CPT URL Anfragen nicht richtig weitergeleitet werden.

BEARBEITEN

Ich habe das Monkeyman-Rewrite-Analyzer- Plugin installiert und die beiden URLs getestet. Es scheint, dass die Neuschreibe-Übereinstimmungen wie für beide erwartet sind

 Test URL: http://bhaa.ie/house/esb Pattern Substitution house/(.+?)(/[0-9]+)?/?$ house: esb page: (.?.+?)(/[0-9]+)?/?$ pagename: house/esb page: [^/]+/([^/]+)/?$ attachment: esb Test URL: http://bhaa.ie/race/aib-nui-2w-2014/ Pattern Substitution race/(.+?)(/[0-9]+)?/?$ race: aib-nui-2w-2014 page: (.?.+?)(/[0-9]+)?/?$ pagename: race/aib-nui-2w-2014 page: [^/]+/([^/]+)/?$ attachment: aib-nui-2w-2014 

Solutions Collecting From Web of "Benutzerdefinierte Beitragstypen und Neuschreibungsregeln – Ein CPT funktioniert und ein geklonter funktioniert nicht"