Cum se creează un cod scurt pentru produsele vizualizate recent WooCommerce
Publicat: 2021-05-05Căutați o modalitate de a afișa produsele vizualizate recent folosind un shortcode? În această postare vreau să vă arăt cum să creați codul scurt pentru produsele vizualizate recent WooCommerce. În mod implicit, WooCommerce vă permite să utilizați un widget pentru a afișa lista de produse pe care un client le-a vizualizat recent.
Această soluție încorporată este foarte eficientă și credem că va deveni un bloc Gutenberg în curând.
Cu toate acestea, poate doriți să afișați produse similare pe o pagină nouă. Aceasta înseamnă că trebuie să creați un shortcode.
Cod scurt pentru produse vizualizate recent WooCommerce
În acest scurt tutorial, vom împărtăși cum puteți crea un shortcode simplu pentru afișarea produselor vizualizate recent. Înainte de a continua, trebuie să rețineți că această soluție implică manipularea codului.
Dacă nu sunteți familiarizat cu gestionarea codului, vă recomandăm să contactați un dezvoltator WordPress calificat, astfel încât să nu vă deteriorați site-ul.
De asemenea, ar trebui să creați o temă copil, astfel încât modificările dvs. să nu se piardă în timpul unei actualizări.
Să vedem cum poți realiza asta.
Pași pentru a adăuga un cod scurt pentru produsele vizualizate recent
Pentru a crea codul scurt, vom profita de codul scurt [produselor] existent și îi vom „transmite” ID-uri de produs fără a fi nevoie să reinventăm roata.
Alternativ, puteți crea un plugin care înregistrează un shortcode într-o temă. Vom folosi această metodă, deoarece este cea mai ușoară.
Trebuie să creați un folder nou cu numele pluginului.
Dacă nu vedeți niciun produs recent, este pentru că trebuie să aveți în continuare activ un widget Produse vizualizate recent. Modulul cookie „woocommerce_recently_viewed” este stocat numai atunci când este utilizat widgetul pentru produse vizualizate recent.
Cele mai importante date de care avem nevoie sunt stocate într-un cookie numit $_COOKIE['woocommerce_recently_viewed'].
Puteți include propriul cod pentru a urmări/crea cookie-uri dacă doriți:
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 );
Iată codul complet pentru 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");
După ce adăugați codul, adăugați [woocommerce_recently_viewed_products per_page="5″] pe orice pagină.
Acesta este rezultatul:
Concluzie
În acest scurt tutorial, am împărtășit cum puteți afișa produsele vizualizate recent folosind un shortcode.
Ar trebui să fiți atenți când editați fișierul functions.php deoarece dacă faceți o greșeală, acesta va afișa o eroare critică.
Articole similare
- Peste 100 de sfaturi, trucuri și fragmente Ghid de ascundere final pentru WooCommerce
- Cum să utilizați codurile scurte WordPress în pagini sau postări cu exemplu
- Cum să îmi creez pagina contului în WooCommerce
- Cum se creează codul scurt de deconectare pentru autentificare WooCommerce
- Cum să importați produse WooCommerce
- Cum să configurați prețul produsului WooCommerce pe kg
- Cum să creezi un produs în mod programatic WooCommerce
- Cum se creează un produs secret WooCommerce
- Cum se creează WooCommerce după conectare Redirecționează către pagina de pornire
- Cum se creează butonul WooCommerce Adaugă în coș în funcție de codul produsului
- Cum se creează o comandă în mod programatic WooCommerce
- Cum să adăugați WooCommerce Redirecționarea paginii contului meu
- Cum să exportați produse în WooCommerce
- Cum să adăugați codul SKU al produsului în WooCommerce
- Cum să duplicați un produs în WooCommerce
- Cum să utilizați do_shortcode în WordPress (PHP)
- Cum se creează o pagină de magazin personalizată WooCommerce
- Cum să obțineți detaliile comenzii după finalizarea comenzii în WooCommerce
- Cum să adăugați preț la atribut în WooCommerce
- Cum să configurați livrarea gratuită cu cheltuieli minime în WooCommerce