Benutzerdefinierte Post-Typ-Archivseitenvorlage

Ich versuche, ein Archiv für einen benutzerdefinierten Posttyp zu implementieren:

http://mywebsite:8888/about-us/client-news/2015/03/ 

Das Problem ist, dass es mir immer eine 404-Seite liefert und ich kann nicht herausfinden, welche Seitenvorlage nicht gefunden wurde. Ich habe versucht, debug und eine Anzahl anderer Schritte einzuschalten

Die Registrierung:

 function client_news() { $labels = array( 'name' => _x("Client News", "post type general name"), 'singular_name' => _x("Client News Item", "post type singular name"), 'menu_name' => 'Client News', 'add_new' => _x("Add New", "news item"), 'add_new_item' => __("Add New News Item"), 'edit_item' => __("Edit News Item"), 'new_item' => __("New News Item"), 'view_item' => __("View News Item"), 'search_items' => __("Search Client News"), 'not_found' => __("No Useful Items Found"), 'not_found_in_trash' => __("No Useful Items Found in Trash"), 'parent_item_colon' => '' ); // Register post type register_post_type('clientnews' , array( 'labels' => $labels, 'public' => true, 'has_archive' => true, 'rewrite' => array( 'slug' => 'news' ), 'supports' => array('title', 'editor', 'thumbnail') ) ); } add_action( 'init', 'client_news', 0 ); 

Archivschleife ist wie folgt:

 
    'clientnews', 'type' => 'monthly' ) ); remove_filter( 'get_archives_link', 'get_archives_clientnews_link', 10, 2 ); ?>

Solutions Collecting From Web of "Benutzerdefinierte Post-Typ-Archivseitenvorlage"

Ich habe es geschafft, dies zu lösen, indem ich eine benutzerdefinierte Umschreibung in die functionsdatei hinzufüge:

 // Add custom rewrite rules to handle things like years in custom post archives function add_rewrite_rules($aRules) { $aNewRules = array( 'news/([0-9]{4})/([0-9]{2})/page/?([0-9]{1,})/?$' => 'index.php?post_type=clientnews&year=$matches[1]&monthnum=$matches[2]&paged=$matches[3]', 'news/([0-9]{4})/([0-9]{2})/?$' => 'index.php?post_type=clientnews&year=$matches[1]&monthnum=$matches[2]', 'about-us/other-news/([0-9]{4})/([0-9]{2})/page/?([0-9]{1,})/?$' => 'index.php?post_type=othernews&year=$matches[1]&monthnum=$matches[2]&paged=$matches[3]', 'about-us/other-news/([0-9]{4})/([0-9]{2})/?$' => 'index.php?post_type=othernews&year=$matches[1]&monthnum=$matches[2]' ); $aRules = $aNewRules + $aRules; return $aRules; } // hook add_rewrite_rules function into rewrite_rules_array add_filter('rewrite_rules_array', 'add_rewrite_rules'); 

Dann habe ich auf der Archivseite die Abfrage geändert in:

 $aParts = explode( '/', $_SERVER['REQUEST_URI'] ); $iYear = get_query_var('year'); $iMonth = get_query_var('monthnum'); if( $iMonth < = 0 && $iYear > 0 ) { $iMonth = $aParts[ 4 ]; } $news = new WP_Query('showposts=6&post_type=othernews&paged='. $paged . '&year=' . $iYear . '&monthnum=' . $iMonth ); 

Versuchen Sie einen Besuch:

 http://mywebsite:8888/about-us/news/2015/03/ 

Sie verwenden slug => 'news' damit 'client-news' Ihnen einen Fehler anzeigt