it-swarm.com.de

Kombinieren Sie mehrere Kategorien zu einem URL Slug

Ich habe eine Wordpress-Website mit mehr als 20 Kategorien. Um die Navigation zu vereinfachen, möchte ich die Kategorien verkleinern und gleichzeitig die ursprünglichen Kategorien beibehalten. Mit anderen Worten, ich möchte in der Lage sein, mehrere Kategorien mit einer Kategoriegruppe oder einem virtuellen Slug abzufragen.

Beispielkategorien:

/category/apples/
/category/pears/
/category/bananas/

Ich möchte in der Lage sein, alle drei mit einem eindeutigen URL-Slug abzufragen:

/category/fruit/

Aber wie gesagt, es sollte immer noch möglich sein, zu/category/bananas/zu gehen.

Ich weiß, dass es möglich ist, mehrere Kategorien abzufragen, wie ich/category/Äpfel, Bananen, Birnen/verwenden möchte, aber es ist keine elegante Lösung.

Ist es möglich, diese virtuelle Gruppierung mit einem Plugin oder sogar mit einem Rewrite durchzuführen?

Tipps und Empfehlungen werden sehr geschätzt!

1
Chris

Sie können Ihre Abfrage mit pre_get_posts in functions.php überschreiben:

function add_all_fruits_to_category($query) {
    $catnames = $query->get('category_name');
    if ($catnames == 'fruits') {
        $query->set('category_name', $catnames . ',bananas,apples,pears');
    }
}
add_action('pre_get_posts', 'add_all_fruits_to_category');
4
Virgil Dupras

Würde die integrierte Unterkategoriefunktion von WordPress dieses Problem nicht lösen?

 + fruit
  + bananas
  + apples
  + pears

du würdest alle Früchte durchbringen

/categories/fruit

sondern auch bestimmte Kategorien durch

/categories/fruit/bananas

um eine Unterkategorie hinzuzufügen, wählen Sie einfach fruit als Elternkategorie für jedes Kind.

2
Pekka 웃