Entfernen Sie den Slug in der Taxonomie-URL

Ich frage mich nur, wie ich Slugs von einigen URLs entfernen kann. Ich verwende einen benutzerdefinierten Post-Typ namens Aussteller und einige Taxonomien, um diese Aussteller zu definieren (zB: featured-guests, publishers etc.):

Im Moment habe ich das hier: http://thisurl.com/exhibitor_filters/featured-guests/

Ich möchte das: http://thisurl.com/featured-guests/

Ich habe mit dem Neuschreiben / Slug in Wp herumgespielt, aber bisher keine Würfel.

Vorschläge?

Vielen Dank!

-Bearbeiten-

Spaß mal, jetzt bekomme ich nur 404 Fehler für alles , was Custom-Post-Typen und Taxonomie-Begriffe betrifft. Ich werde sehen, ob ich wenigstens dieses Ding dazu bringen kann, nicht mehr so ​​lange mit dem Ausspucken aufzuhören … Danke für eure allgemeinen Vorschläge, Leute.

Solutions Collecting From Web of "Entfernen Sie den Slug in der Taxonomie-URL"

Dies ist standardmäßig nicht möglich und die Verwendung der CPT- und benutzerdefinierten Steuerregistrierungs-APIs ist nicht möglich.

Und aus gutem Grund.

Es hat alles mit Permalink und Slug-Konflikten zu tun, und Mehrdeutigkeit zu entfernen. Zugegebenermaßen gibt es Fälle, in denen eindeutige URLs, die sich niemals überschneiden, vom System aus diesem Grund nicht erlaubt sind (falsch-negativ).

Daher empfehle ich, dass Sie sich für einen Ersatz für 'exhibitor_filters' wie 'exhibitors' oder 'filters' und diesen bei der Registrierung als Slug verwenden.

Wenn Sie es wirklich so machen wollen, wie Sie es möchten, müssen Sie Regeln hinzufügen. Dies kann problematisch sein, da Sie das reale Risiko von Zusammenstößen haben (Laden wir die Seite 'about' oder den Aussteller_filter Begriff 'about' ?), Und die Reihenfolge und Prioritäten Ihrer Hooks spielen eine große Rolle.

z.B

 function ex_rewrite( $wp_rewrite ) { $feed_rules = array( '(.+)' => 'index.php?exhibitor_filter='. $wp_rewrite->preg_index(1) ); $wp_rewrite->rules = $wp_rewrite->rules + $feed_rules; } // refresh/flush permalinks in the dashboard if this is changed in any way add_filter( 'generate_rewrite_rules', 'ex_rewrite' ); 

Der obige Code funktioniert für einzelne Begriffe, obwohl er für hierarchische URLs und Taxonomien modifiziert werden muss.

Platzieren Sie den Code in functions.php Ihres Themas oder Ihres themenbezogenen Plugins.

Warnung: Sie müssen vorsichtig sein, um nicht aufdringliche Permalinks zu haben, und Sie müssen sich der Reihenfolge der Regeln bewusst sein, die zuerst kommen. Verwenden Sie das Monkeyman Rewrite Analyzer-Plugin, um dies zu testen. Du wurdest gewarnt.

Es gibt ein Plugin, mit dem Sie den Taxonomie-Slug mit wenigen Klicks entfernen können. Jedenfalls, wie Tom sagte, seien Sie vorsichtig, wenn Sie zum Beispiel nicht zwei verschiedene Taxonomiebegriffe gleich nennen oder alles bremsen wird.

Plugin URL ist http://wordpress.org/extend/plugins/wp-htaccess-control/

Sie sollten dies in Ihrem Permalink-Bereich angeben können. Sie können dies über einen benutzerdefinierten Permalink einstellen, aber es scheint, als ob eine der Standardoptionen “Post-Name” für Sie arbeiten sollte. Dies kann unter Einstellungen, Permalinks im WordPress-Backend gefunden werden.

Ich habe diese Antwort hier gefunden und den Code in den Kommentaren von Jonathan Brinley verwendet. Sie sollten zuerst Ihre Taxonomie "exhibitor_filters" angeben und dann Ihren CPT, indem Sie den Slug auf %exhibitor_filters% .

Dann werden alle Ihre CPTs und Begriffe in Ordnung sein, einschließlich der Bezeichnung Archive Links. In meinem Fall entfernte ich den CPT-Slug aus den Permalinks mit dem% taxo% im CPT-Slug und funktionierte außer in dem Begriff Archiv, der immer noch den CPT-Slug zeigt, aber in deinem Fall scheint das, was du willst.

Sie scheinen Archivseiten zu wollen, die alle benutzerdefinierten Beiträge im Aussteller-Filter "featured-guests" .

Viel Glück.

Hast du gemacht:

 'rewrite' = > array( 'slug' => 'featured-guests', 'with_front' => false ) 

und füge das einfach zu deiner register_taxonomy .