So entfernen Sie Slug aus hierarchischen benutzerdefinierten Typen in 3.5.2

8

Ich weiß, dass dies nicht vorgeschlagen wird und dass es viele Diskussionen über dieses Argument gibt. Leider ist es mir nach einer Woche voller Versuche und Tests noch nicht gelungen, die Schnecke aus meinem benutzerdefinierten Typ zu entfernen. Hier ist die Situation:

Die URL-Struktur, die ich brauche

  • post / blog / my-blog-post [ok!]
  • Seiten / Eltern-Service / Service [ok!]
  • Portfolio / Portfolio / meine erste Arbeit [ok!]
  • statische / übergeordnete-statische-Seite / statische-Seite [<<< --- hier ist das Problem]

Meine Konfiguration

  • Wordpress 3.5.2
  • Benutzerdefinierter Typ 'statisch': hierarchisch; ohne 'Umschreiben' Regel.
  • Benutzerdefinierter Typ 'Portfolio': nicht hierarchisch; 'rewrite' => array ('with_front' => false)
  • Permalink-Struktur: / blog /% postname% /
  • Als Titelseite habe ich die statische Seite 'Blog' eingestellt

Das Problem

  • post blog / my-blog-post [ok!]
  • Seiten / Websites / dynamische Websites [ok!]
  • Portfolio / Portfolio / meine erste Arbeit [ok!]
  • statisch / wer-ich-bin / Begriffe [<<< --- hier ist das Problem]

Was ich versucht habe

Nichts

Zu Beginn lautet die URL des 'statischen' Beitrags "Meine Testseite" erwartungsgemäß / blog / static / my-test-page

'rewrite' => array ('slug' => '', 'with_front' => false)

Ich habe die Vorderseite von der URL entfernt ... gut! Jetzt habe ich / static / my-test-page

'rewrite' => array ('slug' => false, 'with_front' => false)

Es entfernt die Schnecke nicht. Ich habe / static / my-test-page noch nicht.

'rewrite' => array ('slug' => '/', 'with_front' => false)

Es entfernt die Schnecke! Jetzt habe ich / meine-Test-Seite . Leider geben mir alle Seiten einen 404-Fehler zurück .

Plugin 'Slug from Custom Post Type' entfernen

Obwohl es nur funktioniert, wenn meine Permalink-Struktur /% postname% ist, habe ich versucht, dieses Plugin zu installieren und meine Permalink-Struktur zu ändern, um einen Test durchzuführen. Es funktioniert, respektiert aber leider nicht die hierarchische Natur meines 'statischen' Typs.

Das Tutorial von Joakin Lim

Es funktioniert nicht. Insbesondere nach dem Hinzufügen function book_rewrite_rule()heißt es, dass mein benutzerdefinierter Typ jetzt sowohl über / my-test-page als auch über / static / my-test-page zugänglich ist , aber er funktioniert bei mir nicht. Ich kann nur von / static / my-test-page zugreifen . Ich habe auch versucht, das gesamte Tutorial anzuwenden und einige Änderungen und Tests durchzuführen, aber ohne Erfolg

Das Tutorial von vip.wordpress

Wenn ich in beiden Funktionen 'event' durch 'static' ändere, kann ich über blog / parent-page / my-test-page auf meine Seite zugreifen . Wenn ich 'rewrite' => ('with_front' => false) hinzufüge, bricht alles zusammen und ich kann nur über die statische / übergeordnete Seite / meine Testseite zugreifen

Andere Lösungen und Tests

Leider kann ich mit meinem tatsächlichen Ruf nicht mehr als zwei Links verknüpfen. Aber ich habe auch versucht, die Lösung in ryansechrest.com, shibashake.com und - natürlich - ALLE Fragen zu finden, die zuvor in diesem Portal gestellt wurden. Natürlich jedes Mal, wenn ich alle Permalink-Regeln gelöscht habe, die Einstellungsseite besucht, die Optionen gespeichert, sie zweimal geändert und sie erneut gespeichert habe global $wp_rewrite; $wp_rewrite->flush_rules();. Ich habe viele Kombinationen mit dem 'rewrite'-Array und den verschiedenen oben genannten Lösungen versucht.

Hast du einen Vorschlag?

Marco Panichi
quelle
1
Wiederbelebung einer Frage, die vor soooo langer Zeit gestellt wurde (tolle Frage übrigens). Haben Sie jemals eine Lösung gefunden? Könnte eine Lösung darin bestehen, die Standard-WP-Seitentypen und eine benutzerdefinierte Seitenvorlage zu verwenden?
Jen
Hallo @guiniveretoo, ich habe noch keine Lösung gefunden. Auf meiner Website implementiere ich ein Experiment: Ich werde alle meine benutzerdefinierten Beitragstypen (Portfolio, Tools, Informationen) und alle Beiträge in Seiten konvertieren. Auf diese Weise vereinfache ich Struktur und URLs. Dann werde ich Seiten mit Metafeldern angeben; Auch das Frontend wird einfacher.
Marco Panichi

Antworten: