WooCommerce Son Görüntülenen Ürünler Kısa Kodu Nasıl Oluşturulur
Yayınlanan: 2021-05-05Kısa kod kullanarak en son görüntülenen ürünleri göstermenin bir yolunu mu arıyorsunuz? Bu yazıda size WooCommerce son görüntülenen ürünler kısa kodunu nasıl oluşturacağınızı göstermek istiyorum. Varsayılan olarak WooCommerce, bir müşterinin yakın zamanda görüntülediği ürünlerin listesini görüntülemek için bir widget kullanmanıza izin verir.
Bu yerleşik çözüm çok etkilidir ve yakında bir Gutenberg bloğu olacağına inanıyoruz.
Ancak, ilgili ürünleri yeni bir sayfada görüntülemek isteyebilirsiniz. Bu, bir kısa kod oluşturmanız gerektiği anlamına gelir.
WooCommerce Son Görüntülenen Ürünler Kısa Kodu
Bu kısa eğitimde, en son görüntülenen ürünleri görüntülemek için nasıl basit bir kısa kod oluşturabileceğinizi paylaşacağız. Devam etmeden önce, bu çözümün kod işlemeyi içerdiğini unutmamalısınız.
Kod işleme konusunda bilginiz yoksa, sitenizi karıştırmamak için kalifiye bir WordPress geliştiricisiyle iletişime geçmenizi öneririz.
Bir güncelleme sırasında değişikliklerinizin kaybolmaması için bir alt tema da oluşturmalısınız.
Bunu nasıl başarabileceğinizi görelim.
Son Görüntülenen Ürün Kısa Kodunu Ekleme Adımları
Kısa kodu oluşturmak için mevcut [ürünler] kısa kodundan yararlanacağız ve tekerleği yeniden icat etmeye gerek kalmadan ürün kimliklerini ona "geçeceğiz".
Alternatif olarak, bir temaya kısa kod kaydeden bir eklenti oluşturabilirsiniz. En kolayı olduğu için bu yöntemi kullanacağız.
Eklentinin adıyla yeni bir klasör oluşturmanız gerekir.
Son zamanlarda görüntülenen ürünler görmüyorsanız, bunun nedeni hala bir Son Görüntülenen Ürünler pencere öğesinin etkin olması gerektiğidir. "woocommerce_recently_viewed" çerezi, yalnızca en son görüntülenen ürünler widget'ı kullanımdayken saklanır.
İhtiyacımız olan en önemli veriler, $_COOKIE['woocommerce_recently_viewed'] adlı bir çerezde saklanır.
İsterseniz çerezleri izlemek/oluşturmak için kendi kodunuzu ekleyebilirsiniz:
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 );
İşte eklentinin tam kodu:
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");
Kodu ekledikten sonra, herhangi bir sayfaya [woocommerce_recently_viewed_products per_page=”5″] ekleyin.
Bu sonuç:
Çözüm
Bu kısa eğitimde, son görüntülenen ürünleri bir kısa kod kullanarak nasıl görüntüleyebileceğinizi paylaştık.
Functions.php dosyasını düzenlerken dikkatli olmalısınız çünkü bir hata yaparsanız kritik bir hata gösterecektir.
Benzer Makaleler
- 100+ İpuçları, Püf Noktaları ve Snippet'ler Ultimate WooCommerce Hide Guide
- Örneklerle Sayfalarda veya Gönderilerde WordPress Kısa Kodları Nasıl Kullanılır
- WooCommerce'de Hesap Sayfam Nasıl Oluşturulur
- WooCommerce Giriş Çıkış Kısa Kodu Nasıl Oluşturulur
- Ürünler Nasıl İçe Aktarılır? WooCommerce
- WooCommerce Ürün Fiyatı Kg Başına Nasıl Kurulur
- Programlı Ürün Oluşturma WooCommerce
- WooCommerce Gizli Ürünü Nasıl Oluşturulur
- Giriş Sayfasına Yönlendirdikten Sonra WooCommerce Nasıl Oluşturulur
- Ürün Kimliğine Göre WooCommerce Sepete Ekle Düğmesi Nasıl Oluşturulur
- Programlı Olarak Sipariş Oluşturma WooCommerce
- WooCommerce Hesabım Sayfa Yönlendirmesi Nasıl Eklenir
- WooCommerce'de Ürünler Nasıl Dışa Aktarılır
- WooCommerce'de Ürün SKU'su Nasıl Eklenir
- WooCommerce'de Bir Ürün Nasıl Çoğaltılır
- WordPress'te (PHP) do_shortcode nasıl kullanılır?
- WooCommerce Özel Mağaza Sayfası Nasıl Oluşturulur
- WooCommerce'de Ödeme Yaptıktan Sonra Sipariş Ayrıntıları Nasıl Alınır?
- WooCommerce'de Niteliğe Fiyat Nasıl Eklenir
- WooCommerce'de Minimum Harcama ile Ücretsiz Gönderim Nasıl Kurulur