Verwenden von WP E-Commerce
Dieser Artikel erschien zuerst in Ausgabe 232 of .net magazine - das weltweit meistverkaufte Magazin für Webdesigner und Entwickler.
Immer mehr Websites wenden sich WordPress als CMS zu, was gleichzeitig die Anzahl der Shops und Online-Unternehmen erhöht, die es für ihre E-Commerce-Anforderungen verwenden. Mit einer Ansammlung von E-Commerce-Plug-Ins, die für WordPress verfügbar sind, WP E-Commerce zeichnet sich als standardisierte Lösung aus - sie ist unglaublich leistungsfähig und erweiterbar und funktioniert mit nahezu jedem Thema, das Sie sich vorstellen können.
WP E-Commerce wächst weiter und hat mit über 1,3 Millionen Downloads eine beeindruckende Anhängerschaft von Entwicklern und begeisterten Designern, die Kunden aller Arten und Größen solide Lösungen mit geringem Entwicklungsaufwand anbieten. In diesem Tutorial erfahren Sie, wie Sie WP E-Commerce einrichten und allgemeine Funktionen erhalten, ohne einen Cent bezahlen zu müssen.
Einrichten
Sie sind begeistert, aufgeregt und auf WordPress vorbereitet. Sie sind installiert, betriebsbereit und können es kaum erwarten, Ihren Shop ins Internet zu stellen. Sie sind sich jedoch nicht sicher, wo Sie anfangen sollen. Wenn Sie WordPress bereits verwendet haben, sind Sie bereits an den Administrationsbereich gewöhnt. Wenn nicht, bereiten wir Sie darauf vor, schneller zu verkaufen, als Sie denken.
Um WP e-Commerce zu installieren, gehen Sie zum Plug-In-Manager im WordPress-Administrator und suchen Sie nach WP E-Commerce . Schlagen Installieren ;; Jetzt müssen Sie nur noch klicken aktivieren Sie .
Nach der Installation wird ein neuer Menüpunkt mit der Bezeichnung angezeigt Produkte ;; Wenn Sie darauf klicken, wird ein leerer Produktkatalog angezeigt. Sie können hier und jetzt Produkte hinzufügen. Dies ist für den Rest dieses Tutorials eine gute Idee, da wir uns mit dem Abrufen der beliebtesten Produkte und dem Hinzufügen der Produktsuche befassen, ohne die Extras für den WP e-Commerce-Goldwagen zu bezahlen.
Beliebte Produkte
Es mag offensichtlich erscheinen, eine Funktion für „beliebte Produkte“ zu haben, aber WP E-Commerce wird standardmäßig nicht mitgeliefert - zum Glück ist es eine einfache Funktion, die erstellt werden muss. Für Ihr Geschäft ist Cross-Selling wichtig. Für Ihre Kunden ist es auch von entscheidender Bedeutung, dass sie ein angenehmes Einkaufserlebnis haben. Die Anzeige beliebter Produkte ist eine hervorragende Möglichkeit, den Umsatz zu verbessern und das Benutzererlebnis zu verbessern.
Wir müssen die Themen bearbeiten functions.php um unsere benutzerdefinierten Funktionen einzuschließen. Wir werden eine Funktion schreiben, die Funktionen für beliebte Produkte und einen Shortcode hinzufügt, um die Funktion in der Mitte des Beitrags / der Seite aufrufen zu können.
Die Arbeit machen
Ich verwende das brillante Sticks & Stones-Thema von Beschwipst & Tumbler - Es ist sehr reaktionsschnell und funktioniert sofort hervorragend mit WP E-Commerce. Seit dem Thema functions.php ist bereits ziemlich groß, wir werden eine neue Datei mit dem Namen erstellen functions-addons.php , die wir im selben Verzeichnis wie functions.php speichern. Sie finden diese Dateien in wp-content / themen / stickandstones .
Bevor wir zum Code kommen, funktionieren neuere Versionen von WP E-Commerce so, dass das Plug-In die Artikel in die Tabelle w schreibt, wenn ein Benutzer einen Ihrer Artikel in den Warenkorb legt und die Kaufabwicklung durchläuft p_wpsc_cart_contents - während ältere Iterationen beim Hinzufügen zum Warenkorb in die Datenbank geschrieben wurden.
Datenbank abfragen
Um die beliebten Produkte aus der Datenbank zu erhalten, müssen wir zwei Dinge tun: Die WordPress-Datenbank der Funktion aussetzen und dann eine MySQL-Abfrage schreiben, um die Produkte zu sammeln und sie nach Kaufhäufigkeit zu bestellen:
//Expose the databaseglobal $wpdb;//Get the results$popular_products = $wpdb->get_results('SELECT 'prodid',SUM(quantity) FROM '{$wpdb->prefix}wpsc_cart_contents' GROUP BY 'prodid' ORDER BY 'quantity' DESC LIMIT {$atts['limit']}', ARRAY_A);
Wir stellen den Standard-WordPress-Datenbankadapter der Funktion zur Verfügung, sodass wir die Datenbank abfragen und die Ergebnisse formatieren können. Wir können die Daten jetzt so ändern, dass wir uns wohl fühlen. Der Einfachheit halber habe ich das Format als assoziatives Array belassen.
Das zweite, was wir tun, ist die in MySQL integrierte SUM-Funktionalität, die die Gesamtzahl der Werte eines Felds zählt. Unsere dritte Aktion besteht darin, die Elemente nach der Produkt-ID zu gruppieren, damit wir keine Duplikate in den Ergebnissen erhalten und ungültig werden die Ergebnisse.
Jetzt sieht es vielleicht so aus, als hätten wir den größten Teil der Arbeit erledigt - und auf eine Art und Weise, die wir haben; Der schmerzhafte Teil ist nicht im Weg - aber die Funktion ist noch nicht beendet. Wir müssen die Daten in einem Format verarbeiten, das sowohl semantisch als auch flexibel in unserem neuen Shop verwendet werden kann.
Die Methode, mit der wir dies tun, besteht darin, eine Schleife zu schreiben, die die Daten durchläuft und unsere beliebtesten Produkte ausgibt. Um unsere Schleife auszuführen, verwenden wir den folgenden Code, der das Produkt aus dem Datensatz individualisiert, den wir aus unserer Abfrage abgerufen haben. Dies bedeutet, dass wir jeden schnell, einfach und effizient ausschreiben können.
//Loop through the resultspost_title; $the_image = get_the_post_thumbnail($item['prodid']); $the_price = the_product_price($item['prodid']); $the_link = get_permalink($item['prodid']);}?>
Wir werden die Schleife jetzt mit etwas HTML ausarbeiten und die WordPress-Funktionen erläutern, wenn ich sie verwende. Viele Entwickler, die WordPress verwenden, kennen diese Funktionen nicht und schreiben schrecklichen Code als Polyfill, wodurch die gesamte Website verlangsamt wird. Ich halte mich nur an ein zweispaltiges Layout für den HTML-Code: Dies ist für die meisten Produktseiten ziemlich Standard. Dieser Code geht in die Schleife:
From only Möglicherweise haben Sie eine Funktion bemerkt, die in einem früheren Codeblock mit dem Namen aufgerufen wurde the_product_price . Diese Funktion ist sehr einfach: Sie gibt nur den Preis des Produkts zurück. Es braucht zwei Argumente, und wenn Sie das zweite übergeben, erhalten Sie das Sonderangebot . In WP E-Commerce ist dies einfach der Verkaufspreis, den Sie auf der Produktadministrationsseite finden. Das erste Argument ist die Produkt-ID, bei der es sich um eine eindeutige Nummer handelt, die jedem Produkt zugewiesen wird.
function the_product_price($id, $special_price = false) { if ($special_price) { return wpsc_currency_display(get_post_meta($id,'_wpsc_special_price', true)); } else { return wpsc_currency_display(get_post_meta($id, '_wpsc_price', true)); }}
Um dies nun als Shortcode auf Ihren Seiten zu verwenden (Shortcodes funktionieren aus irgendeinem Grund nicht für Posts), benötigen Sie nur eine Codezeile - es ist eine weitere dieser magischen WordPress-Funktionen. Das erste Argument der add_shortcode Funktion ist eine Zeichenfolge, die Sie auf Ihrer Seite verwenden würden. Das zweite Argument ist der Name der Funktion, die wir gerade fertig geschrieben haben.
//Add the shortcodeadd_shortcode('popular_products', popular_products);
Verbesserung der WordPress-Suche nach Produkten
Die WordPress-Suche dazu zu bringen, Ihre Socken zu rocken, anstatt stärker als ein Vakuum zu saugen, kann eine Mammutaufgabe sein, wenn Sie etwas Detailliertes benötigen, aber es gibt einfachere Möglichkeiten, dies zu tun. (Es gibt immer einen einfacheren Weg, etwas zu tun!)

WP E-Commerce ist das Kind von GetShopped. Es ist auch die Heimat des Forums und läuft auf WP E-Commerce selbst und verkauft Premium-Plug-Ins
In den späteren Versionen von WordPress und WP E-Commerce können Sie Produkte suchen, da diese als Seiten hinzugefügt wurden, während sie in älteren Versionen von WP E-Commerce eine separate Tabelle und einen separaten Beitragstyp waren - insgesamt ein Albtraum. Glücklicherweise funktioniert die Suche heute nur noch - aber nur so. Daher werden wir die Suche um Kategorien und Tags erweitern, um Ihren Kunden die bestmögliche Erfahrung beim Surfen in Ihrem Online-Shop zu bieten.
Angenommen, Sie haben Ihrem Shop Produkte hinzugefügt und die Kategorieseite bereits im Administrationsbereich (unter) gefunden Produkte Menü, das wir uns zuvor im Tutorial angesehen haben, und Sie haben Ihre Kategorien und Ihre Produkte hinzugefügt. Wir können fortfahren und unser Suchformular und unsere Ergebnisseite anpassen. Dies macht es Ihren Kunden so einfach wie möglich, vom Besucher zum Einstecken von Geld in Ihre Tasche zu gelangen.

Unternehmen jeder Größe wenden sich der Software von WP e-Commerce zu - weil sie umfassend und einfach zu bedienen ist, ohne die Kosten für Entwicklungszeiten WordPress hat einige seltsame Terminologien, wenn es darum geht, bestimmte Felder zu durchsuchen, z. B. Kategorien, die eigentlich keine Kategorien sind - sie werden Taxonomie genannt, und als solche müssen wir eine spezielle Abfrage durchführen, um sie herauszuholen! Um unsere Ziele zu bestätigen, werden wir das Suchformular so anpassen, dass es ein neues Feld enthält.
Zuerst müssen wir unsere Suchformularvorlage in unserem Thema öffnen: Sie heißt searchform.php (Wenn Sie keinen in Ihrem Themenordner haben, erstellen Sie einen). Wir werden das Formular anpassen - öffnen Sie ein Formular-Tag wie folgt:
Die Aktion ist auf root gesetzt, da WordPress die Suchabfrage automatisch erkennt und die Vorlage dafür austeilt. Wir fügen jetzt unsere Suchfelder zum Hauptteil des Formulars hinzu:
Dies ist das Standard-WordPress-Suchfeld. Der Name s ist der Suchparameter, mit dem WordPress den Inhalt und den Titel jedes Beitrags durchsucht. Obwohl wir die Suche anpassen, durchsucht dieser Parameter weiterhin den Text und den Titel der Produktseiten.
Das Platzhalter Attribut ist der Standardtext, der beim Eingeben verschwindet und automatisch wieder angezeigt wird, wenn Sie nichts eingegeben haben. Dies müsste JavaScript sein, das von Ihrem Thema gesteuert wird. Das Sticks & Stones-Thema tut dies bereits für Browser, die keine coolen Attribute unterstützen. (Ich sehe dich an, Internet Explorer.)
Fügen wir ein weiteres Feld hinzu, damit wir die Kategorien durchsuchen können, die wir hinzugefügt haben:
Wir werden das Feld oben verwenden, um unsere Produkttaxonomien zu durchsuchen. Der Namensbegriff ist das WordPress-Standardsuchattribut für Taxonomien. Ihre WP E-Commerce-Produkte sind alle unter einem Post-Typ und ihre Kategorien sind alle eine benutzerdefinierte Taxonomie.
Zum Schluss fügen wir noch unsere hinzu einreichen Klicken Sie auf die Schaltfläche und schließen Sie das oben gestartete Formular-Tag. Das ist alles unglaublich normal - aber keine Sorge: Wir nähern uns dem wirklich coolen Teil, der die Funktionsweise der WordPress-Suche verändert und das bringt, was wir wollen.
Richtig, das ist unsere Form. Speichern Sie es und laden Sie es hoch. Ihr neues Formular wird dort angezeigt, wo sich früher die Suchformulare befanden. Schauen wir uns nun die Suchfunktion von WordPress an. Wir werden der Suchfunktion einen Filter hinzufügen, der Ergebnisse abruft, die unseren benutzerdefinierten Taxonomien entsprechen. Dies scheint wirklich schwierig zu sein, erfordert jedoch nur fünf Codezeilen. Man könnte sagen, es ist einfacher als WordPress einzurichten.
Öffne dein functions.php und fügen Sie den folgenden Codeblock am Ende hinzu - ich werde den Code anschließend erläutern:
function search_by_tax_filter (&$query) { if ($query->is_search) $query->set('taxonomy', 'wpsc_product_category');}//Add the filteradd_action('parse_query', 'search_by_tax_filter');
Das sieht vielleicht nicht nach viel aus, aber es macht tatsächlich viel - wie sie sagen, kommen gute Dinge in kleinen Paketen.
Was wir hier tun, ist von unten nach oben zu arbeiten. Wir fügen dem WordPress-Hook-System einen Filter-Hook hinzu. Dies bedeutet, dass wir effektiv einen Listener in das System einfügen und jedes Mal abhören, wenn wir eine Abfrage erstellen (dies ist in diesem Fall jede Seitenladung).
Jetzt entscheide ich mich immer für diese Art von Methode, da ich eine neue verwende WP_Query beschädigt den Rest der Abfragen der Seite, was bedeutet, dass alle möglichen verrückten Dinge passieren werden. (Das heißt, wenn Sie wie ich und jeder andere Entwickler ein Mensch sind - und vergessen, das hinzuzufügen wp_reset_query () Rufen Sie am Ende der Funktion auf, um eine neue zu erstellen WP_Query .)
Das macht jede Menge Spaß - aber da wir eine WordPress-Funktion verwenden, um das Verhalten von WordPress zu ändern, müssen wir keine bahnbrechenden Arbeiten ausführen. Es kümmert sich um sich selbst.
Die obige Funktion, in der wir den Hook hinzufügen, überprüft, ob es sich bei der von uns ausgeführten Abfrage um eine Suchabfrage handelt (keine generische Abfrage). Anschließend fügen wir der Abfrage, die gerade erstellt wird, eine neue Suchklausel hinzu. Wir möchten nur, dass die Produktkategorie von WP e-Commerce (der Suchbegriff stammt aus unserem Formularfeld) in den Ergebnissen angezeigt wird.

Das brillante, kostenlose Sticks & Stones-Thema von Tipsy & Tumbler reagiert und erfordert kein Basteln, um mit WP E-Commerce zu spielen Jetzt, da unsere Suche funktioniert, müssen wir noch ein paar Dinge tun, um sie tatsächlich nützlich zu machen. Wenn Sie sie testen, indem Sie nur die Kategorie ausfüllen, erhalten Sie eine Liste aller Ihrer Beiträge, aber keine Produkte. Dies liegt daran, dass wir keinen Suchbegriff eingegeben haben - und WordPress dies nicht als gültige Suche zählt. Daher wird die Variable is_search auf false gesetzt. Dies bedeutet, dass unsere Abfrage niemals geändert wird und die Ergebnisse ungültig sind.
Dies ist weniger als hilfreich. Wir müssen also unsere Suche auf die Kategorieseite umleiten und die darin enthaltenen Produkte auflisten, anstatt das globale WordPress-Verhalten zu ändern. Der Grund, warum wir eine Weiterleitung wünschen, ist, dass wir das Kernverhalten von WordPress nicht bearbeiten möchten, da wir nicht aktualisieren können und daher Sicherheitsprobleme verursachen können (auch das Fehlen von Updates bedeutet, dass wir wichtige Sicherheitsmaßnahmen verpassen Korrekturen und Funktionsaktualisierungen).
Schauen wir uns also an, wie Sie die Kategorie als endgültige Anlaufstelle für die Weiterleitung erhalten und diese Suchvorgänge für alle Ihre Käufer reibungslos ablaufen lassen.
Zuerst müssen wir wissen, ob wir eine gültige Suche haben oder nicht. Wenn wir keine gültige Kategorie haben, sollten wir diese als Suchabfrage festlegen und dort eine Suche durchführen. Dies gibt standardmäßig nichts und Ihre formatierte Seite 'Keine Ergebnisse' zurück. Wenn etwas gefunden wird, wird Folgendes angezeigt: Alle Winkel werden berücksichtigt.
Schauen wir uns an, wie wir erneut mithilfe von Hooks nach der Abfragezeichenfolge suchen. WordPress weiß, wie man sich um WordPress kümmert, also bleiben wir dran. Öffnen Sie zunächst einen Funktionskörper in functions.php und diesen Code hinzufügen:
function fix_empty_search ($query) { global $wp_query; if (isset($_GET['s']) && empty($_GET['s'])) {
Der obige Code führt drei Dinge aus: Zuerst wird nach einem Suchparameter in der URL gesucht und dann, ob er einen Wert hat. Wenn es diese Validierungsstufe besteht, haben wir einen Kandidaten für die Überprüfung innerhalb von WP E-Commerce, ob es sich um eine gültige Kategorie handelt, zu der umgeleitet werden kann.
Um zu überprüfen, ob wir eine gültige Kategorie haben, verwenden wir den folgenden Codeblock:
if (get_term_by('slug', $wp_query->query_vars['term'], 'wpsc_product_category')) wp_redirect('/?wpsc_product_category={$_GET['term']}');else $query->set('s', $_GET['term']);
Dies nutzt die WordPress-Funktion get_term_by um zu überprüfen, ob die Kategorie existiert. In diesem Fall gibt die Funktion ein Objekt zurück, das die Details der Kategorie enthält. Wenn es nicht vorhanden ist, wird es zurückgegeben falsch , das ist perfekt für unseren kleinen Scheck. Wenn die Funktion nicht zurückkehrt falsch Es ist eine gültige Kategorie, und wir verwenden die wp_redirect Funktion zum Umleiten des Benutzers zur Kategorieseite - und wenn es sich nicht um eine gültige Kategorie handelt, wird die Suche unter Verwendung der Kategorie als Suchbegriff erneut durchgeführt, in der Hoffnung, dass der Benutzer etwas finden kann, das dem entspricht, wonach er gesucht hat.
Entdecken Sie die besten kostenlosen WordPress-Themes für Designer auf unserer Schwesterseite. Kreativer Blog .