register_post_type findet das Templete und den Slug nicht

  • Hallo Zusammen,
    ich bin heute das erste mal auf dieser Plattform und begrüße euch herzlich!

    Derzeit verzweifle ich etwas. Vielleicht kann mir einer auf den richtigen Weg helfen.

    Ich arbeite derzeit an einer WP-Site mit Custom Post Types.
    Die Einträge schreiben wir selbst ohne Plugin.
    Soweit funktioniert auch alles. Alle Einträge werden im Backend passend angezeigt und auch in der Datenbank gespeichert. Auch der Permalink wird im Backend richtig angezeigt.
    Leider sieht das im Frontend anders aus. Im Permalink wird der Slug nicht im Permalink ausgegeben und das passende Template wird auch nicht gefunden.

    Ich wähle eine single-{custom}.php an.

    Hat einer Erfahrungen mit diesem Problem und kann mir weiterhelfen?
    Vielen Dank im Voraus.

    Viele Grüße
    fomra

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Dashboard => Einstellungen == >Permalink
    die einfach so wie sie sind nochmals speichern,
    alles refreshen und guggen , ob es nun passt

    wenn nicht wurde eventuell bei der Erstellung des custom_post_types irgendwas falsch gemacht

    wenn die URl nicht stimmt, kann auch das Template nicht gefunden werden

  • Danke für deine Antwort. Hab ich schon gemacht. Bringt nichts.
    Selbst wenn ich manuell die URL richtig eingebe, wird das Template nicht gefunden.
    Ich werde heute Abend nochmal schauen.

    Viele Grüße
    fomra

  • Die Datei als solches ist aber vorhanden (also von Euch erstellt worden)? Und der "custom" Teil der single-{custom}.php entspricht exakt dem Namen der via register_post_type übergeben wurde? Beispiel:

    Code
    register_post_type( 'meinposttype', array( ... alle Eigenschaften ...) );
    
    
    benötigt
    
    
    single-meinposttype.php

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

  • Ja, das ist der entsprechende Code:

    PHP
    function post_type_books() {	register_post_type(                'books',                array(                    'label' => __('Bücher'),                    'public' => true,                    'show_ui' => true,                    'supports' => array(						'title',						'editor',						'thumbnail',						'revisions'                    ),                    'rewrite' => array( 'slug' => 'books' ),                    'has_archive' => true                )    );            register_taxonomy( 'booktypes', 'books',		array(             'hierarchical' => true,			 'label' => __('Buchtypen'),			 'query_var' => 'booktypes',			 'rewrite' => array('slug' => 'booktypes' )		)	);                }add_action('init', 'post_type_books');
  • Auf die Gefahr hin zu nerven: single-books.php existiert und liegt im Verzeichnis Deines (Child)-Themes?

    Du schreibst, dass Du das nicht als Plugin geschrieben hast. Ich nehme an, dass Du dann auch kein flush_rewrite_rules(); ausführst nachdem der Custom Post Type erstellt wurde. In diesem Fall musst Du einmal die Permalinks neu abspeichern.

    Btw. register_taxonomy sollte man besser durch register_taxonomy_for_object_type ersetzen.

    PS.: Und den rewrite kannst Du Dir sparen. Der ist standardmäßig aktiv und hat den Namen des post_types. In Deinem Fall also "books"

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

    Einmal editiert, zuletzt von mensmaximus (13. August 2014 um 11:02)

  • Ja, eine single-books.php liegt im Child-Theme.
    Der Permalink wird im Backend beim Eintrag angezeigt. Nur im Template nicht.
    Doch löst das Speichern des Permalinks das Problem mit dem Pemtplate?

    Da der Abschnitt zu viele Zeichen besitzt, habe ich einmal eine Datei angehängt, in der alles vorhanden ist, was wir bisher geschrieben haben.

    Liebe Grüße
    fomra

    books.doc.zip

  • Schau Dir mal die Stelle im Codex bezüglich des Flushen an.

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

  • Habs mir nochmal angeschaut.
    Beide dort beschriebenen Methoden helfen mir nicht zum Ergebnis zu kommen.

    Folgendes habe ich eingefügt :

    Er findet weder das Template, noch die URL.

    Oder habe ich was falsch gemacht?

    Viele Grüße
    fomra

  • Dann fällt mir dazu spontan nichts mehr ein. Da müsste man jetzt wirklich den Programmcode durchforsten.

    WordPress ist "frei" wie in Freiheit es zu nutzen, aber nicht im Sinne von Freibier. Wer also glaubt man bekommt rund um WordPress alles kostenlos, der irrt. Hilfe ist ein Geschenk für das man sich bedankt, dafür gibt es den 'Gefällt mir' Button. Wer das nicht kann und sich selbst nicht zu helfen weiss, muss sich bezahlte Unterstützung suchen.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!