Strukturieren eines Produktkatalogs in WordPress

Ich versuche, eine produktinduzierte, inhaltsverwaltete Website in WordPress zu erstellen (auf Anfrage des Kunden). Ich habe einen benutzerdefinierten Post-Typ erstellt, in dem sich alle Produkte befinden, passend “Produkte” genannt. Die Produkte müssen in verschiedenen Kategorien angezeigt werden, wie in der angehängten Abbildung dargestellt. Da ich neu bei WordPress bin, habe ich Probleme damit, dies zusammen zu stellen, und hätte gerne einen Ratschlag.

Ist es am besten, eine Reihe von Kategorien mit entsprechenden Seiten zu erstellen. Wenn der Link angeklickt wird, dann filtere ich irgendwie alle Beiträge in dieser Kategorie? Nur ein kleiner Hinweis, wie der beste Weg dies möglichst zu erreichen ist. Vielen Dank im Voraus.

Wordpress-Menü mit Katalogstruktur

Solutions Collecting From Web of "Strukturieren eines Produktkatalogs in WordPress"

Der Screenshot sieht wie ein Menü aus, hier ist, wie ich es machen würde:

Benutzerdefinierte Taxonomie

Fügen Sie eine neue Taxonomie für Ihre Produkte hinzu, z. B. “Produkttyp”, “Produktbereich” oder “Produktkategorie”. Es ist verlockend, diesem Post-Typ Post-Kategorien zuzuordnen, aber es kommt mit anderen Problemen, wenn Sie das tun, also nicht.

Sie sollten register_taxonomy , und um die Begriffe get_terms , sollten Sie functionen wie get_terms , um die Begriffe auf oberster Ebene ohne Eltern zu erhalten, und dann für die nächste Ebene wiederholen

Ich denke, es ist am besten, benutzerdefinierte Taxonomie-Typen zu registrieren, sonst können Sie Ihrem CPT-Code Kategorien hinzufügen, die Ihren CPT registrieren .

 add_action( 'init', 'wpsites_register_taxonomy_types' ); function wpsites_register_taxonomy_types() { register_taxonomy( 'cpt-type', 'cpt', array( 'labels' => array( 'name' => _x( 'Types', 'taxonomy general name', 'theme' ), 'add_new_item' => __( 'Add New CPT Type', 'theme' ), 'new_item_name' => __( 'New CPT Type', 'theme' ), ), 'exclude_from_search' => true, 'has_archive' => true, 'hierarchical' => true, 'rewrite' => array( 'slug' => 'cpt-type', 'with_front' => false ), 'show_ui' => true, 'show_tagcloud' => false, )); }