So erstellen Sie den WooCommerce Shortcode für zuletzt angesehene Produkte
Veröffentlicht: 2021-05-05Suchen Sie nach einer Möglichkeit, kürzlich angesehene Produkte mithilfe eines Shortcodes anzuzeigen? In diesem Beitrag möchte ich Ihnen zeigen, wie Sie den WooCommerce Shortcode für kürzlich angesehene Produkte erstellen. Standardmäßig erlaubt Ihnen WooCommerce, ein Widget zu verwenden, um die Liste der Produkte anzuzeigen, die ein Kunde kürzlich angesehen hat.
Diese integrierte Lösung ist sehr effektiv und wir glauben, dass sie bald zu einem Gutenberg-Block werden wird.
Möglicherweise möchten Sie jedoch verwandte Produkte auf einer neuen Seite anzeigen. Das bedeutet, dass Sie einen Shortcode erstellen müssen.
Shortcode für zuletzt angesehene Produkte von WooCommerce
In diesem kurzen Tutorial zeigen wir Ihnen, wie Sie einen einfachen Shortcode zum Anzeigen kürzlich angesehener Produkte erstellen können. Bevor Sie fortfahren, müssen Sie beachten, dass diese Lösung die Handhabung von Code beinhaltet.
Wenn Sie mit dem Umgang mit Code nicht vertraut sind, empfehlen wir Ihnen, sich an einen qualifizierten WordPress-Entwickler zu wenden, damit Sie Ihre Website nicht durcheinanderbringen.
Damit deine Änderungen bei einem Update nicht verloren gehen, solltest du auch ein Child-Theme anlegen.
Lassen Sie uns sehen, wie Sie dies erreichen können.
Schritte zum Hinzufügen eines Shortcodes für kürzlich angesehene Produkte
Um den Shortcode zu erstellen, nutzen wir den bestehenden [products] Shortcode und „geben“ Produkt-IDs an ihn weiter, ohne das Rad neu erfinden zu müssen.
Alternativ können Sie ein Plugin erstellen, das einen Shortcode in einem Thema registriert. Wir werden diese Methode verwenden, da sie die einfachste ist.
Sie müssen einen neuen Ordner mit dem Namen des Plugins erstellen.
Wenn Sie keine zuletzt angesehenen Produkte sehen, müssen Sie noch ein Widget für kürzlich angesehene Produkte aktiv haben. Das Cookie „woocommerce_recently_viewed“ wird nur gespeichert, wenn das Widget „Zuletzt angesehene Produkte“ verwendet wird.
Die wichtigsten Daten, die wir benötigen, werden in einem Cookie namens $_COOKIE['woocommerce_recently_viewed'] gespeichert.
Sie können bei Bedarf Ihren eigenen Code zum Verfolgen/Erstellen von Cookies einfügen:
function custom_track_product_view() { if ( ! is_singular( 'product' ) ) { return; } global $post; if ( empty( $_COOKIE['woocommerce_recently_viewed'] ) ) $viewed_products = array(); else $viewed_products = (array) explode( '|', $_COOKIE['woocommerce_recently_viewed'] ); if ( ! in_array( $post->ID, $viewed_products ) ) { $viewed_products[] = $post->ID; } if ( sizeof( $viewed_products ) > 15 ) { array_shift( $viewed_products ); } // Store for session only wc_setcookie( 'woocommerce_recently_viewed', implode( '|', $viewed_products ) ); } add_action( 'template_redirect', 'custom_track_product_view', 20 );
Hier ist der vollständige Code für das Plugin:
function njengah_woocommerce_recently_viewed_products( $atts, $content = null ) { // Get shortcode parameters extract(shortcode_atts(array( "per_page" => '5' ), $atts)); // Get WooCommerce Global global $woocommerce; // Get recently viewed product cookies data $viewed_products = ! empty( $_COOKIE['woocommerce_recently_viewed'] ) ? (array) explode( '|', $_COOKIE['woocommerce_recently_viewed'] ) : array(); $viewed_products = array_filter( array_map( 'absint', $viewed_products ) ); // If no data, quit if ( empty( $viewed_products ) ) return __( 'You have not viewed any product yet!', 'rc_wc_rvp' ); // Create the object ob_start(); // Get products per page if( !isset( $per_page ) ? $number = 5 : $number = $per_page ) // Create query arguments array $query_args = array( 'posts_per_page' => $number, 'no_found_rows' => 1, 'post_status' => 'publish', 'post_type' => 'product', 'post__in' => $viewed_products, 'orderby' => 'rand' ); // Add meta_query to query args $query_args['meta_query'] = array(); // Check products stock status $query_args['meta_query'][] = $woocommerce->query->stock_status_meta_query(); // Create a new query $r = new WP_Query($query_args); // If query return results if ( $r->have_posts() ) { $content = '<ul class="rc_wc_rvp_product_list_widget">'; // Start the loop while ( $r->have_posts()) { $r->the_post(); global $product; $content .= '<li> <a href="' . get_permalink() . '"> ' . ( has_post_thumbnail() ? get_the_post_thumbnail( $r->post->ID, 'shop_thumbnail' ) : woocommerce_placeholder_img( 'shop_thumbnail' ) ) . ' ' . get_the_title() . ' </a> ' . $product->get_price_html() . ' </li>'; } $content .= '</ul>'; } // Get clean object $content .= ob_get_clean(); // Return whole content return $content; } // Register the shortcode add_shortcode("woocommerce_recently_viewed_products", "njengah_woocommerce_recently_viewed_products");
Fügen Sie nach dem Hinzufügen des Codes die [woocommerce_recently_viewed_products per_page=“5″] auf einer beliebigen Seite hinzu.
Das ist das Ergebnis:
Fazit
In diesem kurzen Tutorial haben wir geteilt, wie Sie kürzlich angesehene Produkte mit einem Shortcode anzeigen können.
Sie sollten beim Bearbeiten der Datei functions.php vorsichtig sein, denn wenn Sie einen Fehler machen, wird ein kritischer Fehler angezeigt.
Ähnliche Artikel
- Über 100 Tipps, Tricks und Snippets Ultimativer WooCommerce-Hide-Guide
- So verwenden Sie WordPress-Shortcodes in Seiten oder Beiträgen mit Beispiel
- So erstellen Sie meine Kontoseite in WooCommerce
- So erstellen Sie einen WooCommerce Login Logout Shortcode
- So importieren Sie Produkte WooCommerce
- So richten Sie den WooCommerce-Produktpreis pro kg ein
- So erstellen Sie Produkte programmgesteuert mit WooCommerce
- So erstellen Sie ein geheimes WooCommerce-Produkt
- So erstellen Sie eine WooCommerce-Umleitung nach der Anmeldung zur Homepage
- So erstellen Sie die WooCommerce-Schaltfläche „In den Warenkorb“ nach Produkt-ID
- So erstellen Sie eine Bestellung programmgesteuert WooCommerce
- So fügen Sie eine WooCommerce-Umleitung für die Seite „Mein Konto“ hinzu
- So exportieren Sie Produkte in WooCommerce
- So fügen Sie eine Produkt-SKU in WooCommerce hinzu
- So duplizieren Sie ein Produkt in WooCommerce
- So verwenden Sie do_shortcode in WordPress (PHP)
- So erstellen Sie eine benutzerdefinierte WooCommerce-Shop-Seite
- So erhalten Sie Bestelldetails nach dem Checkout in WooCommerce
- So fügen Sie dem Attribut in WooCommerce einen Preis hinzu
- So richten Sie kostenlosen Versand mit minimalen Ausgaben in WooCommerce ein