it-swarm.com.de

So entfernen Sie Slug aus hierarchischen benutzerdefinierten Typen in 3.5.2

Ich weiß, dass dies nicht nahegelegt wird und dass es viele Diskussionen über dieses Argument gibt. Leider ist es mir nach einer Woche des Versuchens und Testens noch nicht gelungen, die Schnecke von meinem benutzerdefinierten Typ zu entfernen. Hier ist die Situation:

Die URL-Struktur brauche ich

  • post/blog/mein-blog-post [ok!]
  • seiten/Elternservice/Service [ok!]
  • portfolio/portfolio/meine-erste-arbeit [ok!]
  • statisch/ü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 Startseite habe ich die statische Seite 'Blog' eingestellt

Das Problem

  • post blog/mein-blog-post [ok!]
  • pages/websites/dynamic-websites [ok!]
  • portfolio/portfolio/meine-erste-arbeit [ok!]
  • statisch/who-i-am/terms [<<< --- hier ist das Problem]

Was ich versucht habe

Nichts

Zu Beginn lautet die URL des 'statischen' Posts "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)

Die Schnecke wird nicht entfernt. Ich habe/static/my-test-page noch.

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

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

Plug-in "Schnecke aus benutzerdefiniertem Beitragstyp 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, aber leider respektiert nicht die hierarchische Natur meines 'statischen' Typs.

Das Tutorial von Joakin Lim

Es funktioniert nicht Insbesondere wird nach dem Hinzufügen von function book_rewrite_rule() angegeben, dass auf meinen benutzerdefinierten Typ jetzt über/my-test-page sowie/static/my-test-page zugegriffen werden kann, dies ist jedoch nicht der Fall nicht für mich arbeiten. Ich kann nur von/static/my-test-page aus zugreifen. Ich habe auch versucht, das gesamte Tutorial anzuwenden, habe auch einige Änderungen und Tests vorgenommen, 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' hinzufüge => ('with_front' => false), bricht alles zusammen und ich kann nur über static/parent-page/my-test-page zugreifen.

Andere Lösungen und Tests

Leider kann ich bei meinem tatsächlichen Ruf nicht mehr als zwei Links verlinken. Aber ich habe auch die Lösung ausprobiert, die in ryansechrest.com, shibashake.com und - natürlich - ALLEN Fragen zu finden ist, die zuvor in diesem Portal veröffentlicht wurden. Natürlich jedes Mal, wenn ich alle Regeln für Permalinks gelöscht, die Einstellungsseite aufgerufen, die Optionen gespeichert, zweimal geändert und mit der Funktion global $wp_rewrite; $wp_rewrite->flush_rules(); erneut gespeichert habe. Ich habe versucht, viele Kombinationen mit dem 'Rewrite'-Array und den verschiedenen oben genannten Lösungen zu erstellen.

Hast du einen Vorschlag?

8
Marco Panichi

Um dies zu erreichen, deaktiviere ich immer den Slug, wenn ich den benutzerdefinierten Beitragstyp hinzufüge, und füge benutzerdefinierte Umschreibungen mit der Funktion add_rewrite_rule hinzu.

Siehe auch diese Codex-Seite: https://codex.wordpress.org/Rewrite_API/add_rewrite_rule

1
Robin