single-type.php funktioniert nicht und liefert 404

Ich habe einen benutzerdefinierten Beitragstyp erstellt und einige Einträge erfolgreich hinzugefügt. Ich kann diese Einträge mit query_posts() , um sie auf der ersten Seite the_permalink() , aber the_permalink() auf jedem von ihnen schickt mich einfach zu einer “Seite nicht gefunden” 404.

Fehle ich etwas? Ich the_permalink() derzeit auf http://localhost , so dass die Ergebnisse von the_permalink() von der ersten Seite benutzerdefinierte Post-Typ-Schleife den Benutzer an http://localhost/PU/PU2010/website/cartoons/einstein-on-california sendet .

functionen.php

 function createCartoonPostType() { register_post_type( 'cartoon', array( 'label' => 'Cartoon', 'public' => true, 'hierarchical' => true, 'supports' => array( 'title', 'editor', 'thumbnail', 'comments' ), 'rewrite' => array( 'slug' => 'cartoons' ) ) ); } add_action( 'init', 'createCartoonPostType' ); 

Demnach sollte ich in der Lage sein, single-cartoon.php zu erstellen, richtig?

Einzel-Cartoon.php

  

loops-cartoons.php (Titelseite)

  
    Sorry, no posts.
  • <a href="https://wordpress.stackexchange.com/questions/3954/single-type-php-not-working-delivering-404/" class="preview-image">

Solutions Collecting From Web of "single-type.php funktioniert nicht und liefert 404"

Bist du nach der Einrichtung des Post-Typs zu Admin -> Einstellungen -> Permalinks gegangen? Die Permalink-Struktur wurde erst hinzugefügt, nachdem Sie das getan haben. Es könnte die Ursache Ihres Problems sein.

Die Permalinks-Seite $wp_rewrite->flush_rules(); Jedes Mal, wenn die Seite besucht wird, ist es nicht einmal notwendig zu speichern.

Nach dem Registrieren der benutzerdefinierten Post-Typen müssen Sie Permalinks neu erstellen. Sie können dies manuell tun, indem Sie Admin -> Einstellungen -> Permalinks besuchen (wie John kommentierte). Sie können Permalinks innerhalb Ihres Codes durch Aufruf von $wp_rewrite->flush_rules(); oder wenn Sie faul sind, können Sie den Permafrost (WordPress Plugin) verwenden .

Ich hatte das gleiche Problem – und jedes Mal, wenn ich eine neue Seite hinzufügte, musste ich die Permalinks-Struktur zurücksetzen. Hinzufügen von:

 flush_rewrite_rules(); 

innerhalb Ihrer createCartoonPostType () – function, unmittelbar nachdem der Teil “register_post_type” das Problem getriggers hat, und bedeutet, dass Sie die keep-resets-Permalinks nicht verwenden müssen.