it-swarm.com.de

Taxonomie mit_front bewirkt alles

Ich habe eine benutzerdefinierte Taxonomie, die with_front auf false setzt, um zu versuchen, die URLs so zu gestalten, dass sie wie /%type%/%brand%/%product%/ aussehen, was sich im weiteren Verlauf verschlechtert. Das macht mich jedoch verrückt. Alles im Code funktioniert, das funktioniert, aber es führt dazu, dass jede andere Seite auf der Site 404 wird. Ich nehme an, der Grund dafür ist, dass with_front den Eindruck erweckt, dass alle Anforderungen Elemente dieser Taxonomie enthalten. Aber ich kann nicht herausfinden, wie ich das beheben kann.

Nur zu Ihrer Information, make labels ist meine Lazy-Funktion, die die Etiketten erzeugt, die wir dafür benötigen.

register_taxonomy ('types','brands',
   array(
       'hierarchical' => false,
       'labels' => make_labels('Type'),
       'show_ui' => true,
       'query_var' => true,
       'rewrite' => array( 'with_front' => false, 'slug' => false)
   )
);

$types = get_terms('types');

foreach($types as $type) {
    add_rewrite_rule("^$type->slug/([^/]*)/([^/]*)/?","index.php?hd_types=$type->slug&brands=\$matches[1]&products=\$matches[2]",'bottom');
    add_rewrite_rule("^$type->slug/([^/]*)/?","index.php?brands=\$matches[1]&types=$type->slug",'bottom');
}

Dann erstellen wir die benutzerdefinierten Pfostentypen Marken und Produkte.

Macht mich verrückt! Danke im Voraus.

1
Alex

Die Antwort auf die Frage finden Sie in den beiden folgenden Beiträgen:

Permalinks in benutzerdefinierten Beitragstypen

Entfernen eines Taxonomie-Slugs aus einem benutzerdefinierten hierarchischen Taxonomie-Permalink

Sie müssen das automatische Umschreiben ignorieren, wie ich es getan habe, aber Sie müssen $wp_rewrite->use_verbose_page_rules = true; zum Mix hinzufügen, da sonst Ihre Seiten im Widerspruch zu den Umschreibregeln stehen, die Sie für Ihre Taxonomie festgelegt haben.

2
Alex