Unser Plugin kann eine einfache Produktsuche mittels eigener Erweiterung umsetzen. Wer allerdings mehr Filterfunktionen möchte, kann dies mittels Drittanbieter-Plugins umsetzen.
In diesem Artikel richten wir eine Basis-Suche ein. Wir haben z.b. auf der Side-by-Side Kühlschrank Seite dieses Plugin genutzt.
Falls Sie es noch nicht gekauft haben, gehen Sie auf die Seite von FacetWP und kaufen das Plugin.
Anschließend können Sie das Plugin aus dem Backend-Bereich herunterladen. Aus Add-Ons können Sie noch den Range-Slider für den Preisfilter herunterladen.
Installieren Sie anschließend das Plugin im Backend Ihrer WordPress-Webseite.
Unser Plugin speichert nicht alle Produktdaten in den benutzerdefinierten Feldern von WordPress. Das Plugin FacetWP greift dabei auf genau diese Felder zu.
Folgende Felder werden in einer separaten Tabelle gespeichert. Wenn Sie nach eines dieser Felder filtern möchten, brauchen Sie die Produktfelder-Export Erweiterung.
Wie Sie diese Erweiterung installieren finden Sie hier.
FacetWP filtert nur nach Produkten welche in einer eigenen Seite erreichbar ist. Dafür benötigen Sie diese Erweiterung. Sie können diese hier herunterladen.
Wie Sie diese Erweiterung einrichten, finden Sie hier.
Wenn Sie nun eines der Felder oben in FacetWP nutzen möchten, müssen Sie einen Export einrichten. Wir benötigen z.b. das Feld Verkaufspreis um danach zu filtern.
Gehen Sie dazu unter Tools -> Feld Export und wählen Sie das Feld "salepricefloat" aus. Entnehmen Sie die anderen Felder aus dem Screenshot. Wir schreiben die Werte in das ACF-Feld. Sie können es allerdings auch mit einfachen benutzerdefinierten Feldern benutzen.
Bei ACF Feldern benötigen Sie Advanced Custom Fields. Wenn Sie benutzerdefinierte Felder nutzen, müssen Sie kein zusätzliches Plugin installieren.
Nachdem Sie "Neues Feld-Mapping hinzufügen" anklicken, müssen Sie anschließend den Feldnamen angeben.
Der Zielname stellt immer den Namen des Feldes oder der Taxonomie dar.
Wichtig: Die Werte werden erst mit dem Update des Caches neu geschrieben. Sobald das Produkt von der API neu geladen wird, wird der Wert auch in das Feld geschrieben.
Ein Facet ist ein Feld in FacetWP. Es können dabei Filter, Sortierung oder auch Paging darstellen. Wir legen hier jetzt ein neues Feld für den Preis an. Dafür nutzen wir den Typ "Range List".
Sie können einen beliebigen Namen im Label vergeben. Wählen Sie anschließend "Range List" als Feldtyp aus. Geben Sie nun den Feldnamen ein welchen Sie vorhin unter Zielname eingegeben haben.
Bei Ranges können Sie beliebige Bereiche angeben.
Achten Sie darauf, das das Feld existieren muss, da es sonst hier nicht erscheint.
Alternativ legen wir nun auch noch ein Feld für die Produktkategorie an. Wählen Sie dazu auch noch den Feldtyp "Checkboxes" aus und anschließend die Kategorie als Taxonomie.
Ein Listing ist bei FacetWP die Darstellung im Suchergebnis. Es ist entsprechend der Vorlage bei affiliate-toolkit.
Sie können anschließend entweder eine eigene Vorlage anlegen oder Sie nutzen die bestehende Vorlage von affiliate-toolkit.
Klicken Sie dazu im Tab "Display" und dort den Haken bei "Dev mode". Nun bekommt man ein Textfeld indem man eigenen PHP-Code anlegen kann.
Sie können den Code von hier kopieren. Ersetzen Sie dabei 2570 durch das Template welches Sie nutzen möchten.
<?php
$listids = '';
while ( have_posts() ): the_post();
if($listids != '')
$listids .= ',';
$listids .= get_the_ID();
endwhile;
$short ='[atkp_list product_ids=\''.$listids .'\' template=\'2570\' limit=\'20\' disable_ajax=\'true\'][/atkp_list]';
echo do_shortcode($short);
?>
Wählen Sie anschließend den Tab "Query" aus. Hier müssen Sie nun Produkte bei der Beitragsart auswählen.
Sobald Sie alles angelegt haben, können Sie die "Copy shortcode" nutzen. Fügen Sie nun den Shortcode auf Ihrer Webseite ein. Ersetzen Sie dabei "suchausgabe" durch den Namen Ihres Listings.
[facetwp template="suchausgabe"]
An der Stelle wo das Filterfeld angezeigt werden soll, fügen Sie den Shortcode für das Facet an:
[facetwp facet="preis"]
[facetwp facet="kategorie"]
Eine Sortierung können Sie folgendermaßen einfügen:
[facetwp sort="true"]
Die Paginierung können folgendermaßen eingefügt werden:
[facetwp pager="true"]