Blog

Quickster: Bestellormulare für WooCommerce

Das klassische Shop-Layout von WooCommerce eignet sich tadellos für den durchschnittlichen Kunden. Doch die Anforderungen an z.B. B2B-Shops oder Stammkunden-Bereiche innerhalb des eigenen Online Shops sind gänzlich andere. Wenn der Fokus deines Projektes der Verkauf von größeren Mengen, größeren Anteilen deines Sortiments oder die einfach Nachbestellung für Stammkunden ist, dann ist Quickster genau das fehlende Puzzle-Stück in deinem Online Shop.

Unterschied Quickster Free und Quickster Premium

Quickster lässt sich bequem mit einigen Handgriffen für deinen Anwendungsfall konfigurieren. Zunächst einmal steht die Überlegung, ob du kostenlos starten möchtest oder direkt zur Premium-Version greifen möchtest. Dazu möchte ich dir in dieser kleinen Übersicht die unterschiede der beiden Versionen verdeutlichen:

Free Premium
7 einstellbare Spalten-Typen zur Auswahl 14 einstellbare Spalten-Typen zur Auswahl
Normale Tabellen-Darstellung mit Paginierung Zusätzlich: Paginierung gegen Infinity Scrolling austauschen
Grundlegendes Mobildesign Optimiertes (automatisiertes) Mobildesign mit entsprechenden Icons
Keine Benachrichtung Anpassbare Warenkorb-Benachrichtigung für Auswahl hinzufügen

Außerdem kannst du dir immer die aktuellste Demo der Pro-Version hier ansehen: Zur Demo.

Die Einrichtung von Quickster

Nachdem du dich nun für eine Version entschieden hast und das Plugin installiert hast beginnt nun die eigentliche Einrichtung. Zunächst solltest du deine Spalten für deinen Anwendungsfall konfigurieren. Dazu gehst du unter WooCommerce->Quickster und wählst in der Tab-Navigation der Einstellungsseite den Reiter „Columns“:

Shortcode

Der nächste Schritt ist dein persönlicher Shortcode. Da ich weiß, wie schnell man den Shortcode vergisst, oder ihn eventuell sogar falsch eingibt (gerade bei der Anwendung von mehreren Parametern), habe ich einen Shortcode-Generator entwickelt, welcher dir die Erstellung deines Shortcodes abnimmt.

Gehe dazu WooCommerce->Quickster auf der Einstellungsseite unter dem Reiter „Shortcode“. Hier findest du nun Möglichkeiten die Produkt-Tabelle nach deinen Wünschen anzupassen. Filtere z.B. nach Produktkategorien, Produkt-Schlagwörtern oder Artikelnummern, um in deiner Produkttabelle nur die gewünschten Produkte darzustellen.

Einstellungen

Der Bereich Einstellungen ist für die Ersteinrichtung nicht notwendig. Doch lasst uns auch hier einen kurzen Blick auf die Möglichkeiten werfen. Zunächst sei anzumerken, dass die Einstellungen für die Warenkorb-Benachrichtigung und den Infinity-Scroll-Bereich nur in der Pro-Version enthalten sind.

Die beiden oberen Einstellungen sollten weitestgehend selbsterklärend sein, Produkte ohne Lagerbestand ausschließen und kostenlose Produkte ausschließen. Wichtig dabei: Nutzt ihr die erste Option müsst ihr darauf achten, den Lagerbestand ebenfalls in eueren Varianten zu pflegen, ansonsten sind diese in eurer Produkttabelle nicht sichtbar.

Unterstützte Produkt-Typen

Quickster unterstützt aktuell alle nativen Produk-Typen von Woocommerce: Einfaches Produkt, variables Produkt, externes Produkt und gruppiertes Produkt. Zu Beachten ist jedoch, dass externe Produkte und gruppierte Produkte nicht in einer Sammelbestellung zusammengefasst werden können, stattdessen ändert sich dort dynamisch der „In den Warenkorb“-Link. Du solltest also diese Spalte aktivieren, wenn du externe und gruppierte Produkte in deinem Bestellformular anzeigen lassen möchtest.

Sprachen

Das Produkt besitzt aktuell eine deutsche und eine englische Sprachversion.

Support

Der Support für die kostenlose Version findet direkt im wordpress.org Support-Forum statt. Den Direktlink zum Support-Forum von Quickster findet Ihr hier. Da die Plugin-Seite durchweg auf Englisch gehalten ist, wäre es hilfreich auch eure Support-Anfrage entsprechend zu formulieren. Der Support wird dort immer 3x im Monat bearbeitet und kann auch nur eingeschränkte Lösungsansätze bieten.

Mit dem Premium-Support (Direkt-Formular im Plugin unter Quickster) erhaltet ihr umfassenden technischen Support (auch gern in deutsch, selbstverständlich) innerhalb von 48-Stunden. Dort ist auch Raum für neue Funktionswünsche oder umfangreiche Problemstellungen.

Premium-Version:

Details zur Premium-Version des Plugins, sowie der Bestellfunktionen findet ihr im übrigen hier.

 

Die wichtigsten Links nochmal zusammengefasst:

Premium-Version

Free-Version

 

WooCommerce Produkt Tabs erzeugen

Ihr möchtet eigene Tabs auf der Produktseite erstellen. WooCommerce selbst bietet euch dafür folgende Lösung an:

add_filter( 'woocommerce_product_tabs', 'woo_new_product_tab' );
function woo_new_product_tab( $tabs ) {
	
	// Adds the new tab
	$tabs['test_tab'] = array(
		'title' 	=> __( 'New Product Tab', 'woocommerce' ),
		'priority' 	=> 50,
		'callback' 	=> 'woo_new_product_tab_content'
	);

	return $tabs;
}
function woo_new_product_tab_content() {
	// The new tab content
	echo 'New Product Tab';
	echo 'Your new product tab.';
}

Enfügen, Textpassagen anpassen und die Sache läuft. Das Beispiel funktioniert prima, wenn ihr euch einen zusätzlichen auf eurer Produktseite wünscht. Was ist aber nun, wenn ihr sagen wir 15 Tabs haben möchtet? WooCommerce Produkt Tabs erzeugen weiterlesen

wp-config.php – kleine Datei mit großer Wirkung

Die wp-config.php Datei findest du im obersten Verzeichnis deiner WordPress-Installation. Im Regelfall warst du bereits dort als du die Verbindung zu deiner Datenbank angepasst und die URL deiner Seite festgelegt hast.

Mit dieser Datei lassen sich abseits der gängigen Einstellungen allerdings deutlich mehr Optionen freischalten. Einige der Funktionen möchte ich dir in diesem Artikel präsentieren. wp-config.php – kleine Datei mit großer Wirkung weiterlesen

Eigene Mails mit „WooCommerce Look“

Vielleicht standet ihr bereits vor dem Problem: Der Kunde fragt: Wir haben hier eine bestimmte Aktion, dort möchten wir eine E-Mail an alle Kunden verschicken. Der Entwickler denkt „Kein Problem, wp_mail und die Sache ist erledigt.“.

Dann kommt die Realität. Natürlich möchte der Kunde kleine Plain-Mail an seine Kunden versenden. Die Mail sollte natürlich so aussehen, wie eben auch die anderen E-Mails an den Kunden aussehen. Eigene Mails mit „WooCommerce Look“ weiterlesen

Snippet: Varianten mit „Ab“-Preis darstellen

Dieses Snippet wandelt die Anzeige von Varianten-Preisen in „ab XX“ statt der üblichen Preis-Spanne um:

	function variation_price_format( $price, $product ) {
		// Main Price
		$prices = array( $product->get_variation_price( 'min', true ), $product->get_variation_price( 'max', true ) );
		$price  = $prices[0] !== $prices[1] ? sprintf( __( 'ab: %1$s', 'woocommerce' ), wc_price( $prices[0] ) ) : wc_price( $prices[0] );

		// Sale Price
		$prices = array(
			$product->get_variation_regular_price( 'min', true ),
			$product->get_variation_regular_price( 'max', true )
		);
		sort( $prices );
		$saleprice = $prices[0] !== $prices[1] ? sprintf( __( 'ab: %1$s', 'woocommerce' ), wc_price( $prices[0] ) ) : wc_price( $prices[0] );

		if ( $price !== $saleprice ) {
			$price = '<del>' . $saleprice . '</del> <ins>' . $price . '</ins>';
		}

		return $price;
	}

Snippet: Limitierung von Suchergebnissen

Mit diesem kurzen Snippet könnt ihr die Anzahl der Suchergebnisse die auf der search.php ausgespielt werden beeinflussen:

add_filter('pre_get_posts', 'limit_posts_per_search_page');
function limit_posts_per_search_page() {
if ( is_search() )
set_query_var('posts_per_archive_page', 20);
}

Snippet: Adminbar im Frontend entfernen

Mit diesem Snippet könnt ihr die Administrations-Bar oben ausblenden, wenn ihr euch im Frontend eurer Website befindet. Das kann z.B. sinnvoll sein, wenn man seinen Kunden einen Administrator-Account zur Verfügung stellt und die Möglichkeiten (etwa zum Löschen des Caches) limitieren möchte.


add_filter( 'show_admin_bar', '__return_false' );

Snippet: Umleitung nach Registrierung

Wenn sich ein Nutzer auf eurer Seite registriert wird dieser normalerweile einfach auf eure wp-login.php umgeleitet. Manchmal möchte man den neuen User nicht direkt den Ort des Administrationsbereich hinweisen, oder ihn in ein eigenes Backend o.Ä. weiterleiten. Dafür braucht ihr keine umfangreiche Membership-Lösung sondern nur dieses Snippet:


add_filter( 'registration_redirect', 'wps_registration_redirect' );
function wps_registration_redirect() {
return home_url( '/finished/' );
}

Snippet: Mindestlänge für Kommentare

Hiermit gewährleistet ihr eine minimale Kommentar-Länge in euren Beiträgen. Das macht z.B. Sinn wenn eurer Blog von regen Diskussionen lebt und Einzeiler-Antworten erfahrungsgemäß weniger zur produktiven Diskussionsförderung beitragen.


add_filter( 'preprocess_comment', 'minimal_comment_length' );
function minimal_comment_length( $commentdata ) {
$minimalCommentLength = 20;
if ( strlen( trim( $commentdata['comment_content'] ) ) < $minimalCommentLength ){
wp_die( 'All comments must be at least ' . $minimalCommentLength . ' characters long.' );
}
return $commentdata;
}

Snippet: Die Anzahl an Kommmentaren im Beitrag zeigen

Mit diesem Snippet könnt ihr die Anzahl an Kommentaren zum aktuellen Beitrag ausgeben lassen. Bei entsprechender Anpassung der ID lässt sich diese Snippet natürlich auch auf der Startseite oder Kategorieübersichten problemlos einsetzen.


$commcount = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->comments WHERE comment_approved = '1'");

if (0 < $commcount) $commcount = number_format($commcount);
echo "Our users have made ".$commcount." comments, care to join in?";

Snippet: Die beliebtesten Beiträgen anzeigen

Hiermit erstellt ihr eine Liste von Links zu euren beliebtesten Beiträgen. „Beliebtest“ heißt in diesem Fall, die Beiträge mit den meisten vorhandenen Kommentaren.


$args=array(
'cat' => 3,
'orderby' => 'comment_count',
'order' => 'DESC',
'post_type' => 'post',
'post_status' => 'publish',
'posts_per_page' => 6,
'caller_get_posts'=> 1
);
$my_query = null;
$my_query = new WP_Query($args);

if( $my_query->have_posts() ) { ?>
<ul>
<?php while ($my_query->have_posts()) : $my_query->the_post(); ?>
<li><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></li>
<?php endwhile; ?>
</ul>
<?php }

wp_reset_query();

Snippet: Individueller Inhalt unter jedem Beitrag

Mit diesem Snippet platziert ihr euren gewünschten Inhalt unter jeden Beitrag eures Blogs. Das kann so ziemlich alles sein. Eine Umfrage, ein Newsletter-Signup, Links zu euren E-Books oder sonstigen Aktionen und Inhalten.


function add_post_content($content) {

if(!is_feed() &amp;&amp; !is_home()) {
$content .= '<p>This article is copyright &copy; '.date('Y').'&nbsp;'.bloginfo('name').'</p>';
}

return $content;
}
add_filter('the_content', 'add_post_content');

Snippet: Minimale Länge von Beiträgen

Minimale Länge von Beiträgen. Ihr arbeitet mit Gastautoren oder habt meherere Mitarbeiter di in eurem Corporate-Blog Beiträge schreiben und veröffentlichen? Eine SEO-Schulung ist schnell vergessen oder wurde nie durchgeführt. Mit diesem Snippet legt ihr eine Mindestlänge für Beiträge fest:


function minWord($content){

global $post;
$num = 100; //set this to the minimum number of words
$content = $post->post_content;

if (str_word_count($content) < $num) wp_die( __('Error: your post is below the minimum word count.') ); } add_action('publish_post', 'minWord');

Übrigens ganz ähnlich könnt ihr verfahren, wenn ihr den Beitragstitel beeinflussen möchtet. Im unteren Beispiel habe ich eine maximale Länge von 10 Wörtern für den Titel festgelegt:

function maxWord($title){ 
 
global $post;
$title = $post->post_title; 
 
if (str_word_count($title) >= 10 ) //set this to the maximum number of words
wp_die( __('Error: your post title is over the maximum word count.') ); 
} 
add_action('publish_post', 'maxWord'); 

Snippet: Ein eigenes Dashboard-Widget

Mit diesem Snippet erstellt ihr ein eigenes Dashboard-Widget für eure WordPress-Seite. Im Beispiel haben wir einige Kontaktinformationen und einen Link hinterlegt:


add_action('wp_dashboard_setup', 'my_custom_dashboard_widgets');
function my_custom_dashboard_widgets() {

global $wp_meta_boxes;
wp_add_dashboard_widget('custom_help_widget', 'Theme Support', 'custom_dashboard_help');
}
function custom_dashboard_help() {
echo '<p>Welcome to Custom Blog Theme! Need help? Contact the developer <a href="mailto:yourusername@gmail.com">here</a>. For WordPress Tutorials visit: <a href="https://patrickposner.de" target="_blank">This Page!</a></p>';
}

Snippet: Ein Favicon einbinden

Mit diesem Snippet fügt ihr euer eigenes Favicon ohne zu Hilfenahme eines Plugins hinzu:


function blog_favicon() {
echo '<link rel="Shortcut Icon" type="image/x-icon" href="'.get_bloginfo('wpurl').'/favicon.ico" />';
}
add_action('wp_head', 'blog_favicon');