Cara Membuat Kode Pendek Produk WooCommerce yang Baru Dilihat

Diterbitkan: 2021-05-05

Kode Pendek Produk WooCommerce yang Baru Dilihat Apakah Anda mencari cara untuk menampilkan produk yang baru dilihat menggunakan kode pendek? Dalam posting ini saya ingin menunjukkan kepada Anda cara membuat kode pendek produk WooCommerce yang baru saja dilihat. Secara default, WooCommerce memungkinkan Anda menggunakan widget untuk menampilkan daftar produk yang baru saja dilihat pelanggan.

Solusi bawaan ini sangat efektif, dan kami yakin ini akan segera menjadi blok Gutenberg.

Namun, Anda mungkin ingin menampilkan produk terkait di halaman baru. Ini berarti Anda perlu membuat kode pendek.

Kode Pendek Produk WooCommerce yang Baru Dilihat

Dalam tutorial singkat ini, kami akan membagikan bagaimana Anda dapat membuat kode pendek sederhana untuk menampilkan produk yang baru saja dilihat. Sebelum Anda melanjutkan, Anda perlu mencatat bahwa solusi ini melibatkan penanganan kode.

Jika Anda tidak terbiasa dengan kode penanganan, kami sarankan untuk menghubungi pengembang WordPress yang memenuhi syarat agar Anda tidak mengacaukan situs Anda.

Anda juga harus membuat tema anak sehingga perubahan Anda tidak hilang selama pembaruan.

Mari kita lihat bagaimana Anda bisa mencapainya.

Langkah-langkah untuk Menambahkan Kode Pendek Produk yang Baru Dilihat

Untuk membuat kode pendek, kami akan memanfaatkan kode pendek [produk] yang ada dan ID produk "teruskan" ke sana tanpa perlu menemukan kembali roda.

Atau, Anda dapat membuat plugin yang mendaftarkan kode pendek ke dalam tema. Kami akan menggunakan metode ini, karena ini yang paling mudah.

Anda perlu membuat folder baru dengan nama plugin.

Jika Anda tidak melihat produk terbaru, itu karena Anda masih harus mengaktifkan widget Produk yang Baru Dilihat. Cookie “woocommerce_recently_viewed” disimpan hanya ketika widget produk yang baru dilihat sedang digunakan.

Data terpenting yang kita butuhkan disimpan ke dalam cookie yang disebut $_COOKIE['woocommerce_recently_viewed'].

Anda dapat memasukkan kode Anda sendiri untuk melacak/membuat cookie jika diinginkan:

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 );

Berikut adalah kode lengkap untuk 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");

Setelah menambahkan kode, tambahkan [woocommerce_recently_viewed_products per_page="5″] di halaman mana pun.

Ini adalah hasilnya: hasil

Kesimpulan

Dalam tutorial singkat ini, kami telah membagikan bagaimana Anda dapat menampilkan produk yang baru dilihat menggunakan kode pendek.

Anda harus berhati-hati saat mengedit file functions.php karena jika Anda melakukan kesalahan, itu akan menampilkan kesalahan kritis.

Artikel Serupa

  1. 100+ Tips, Trik & Cuplikan Panduan Sembunyikan WooCommerce Ultimate
  2. Cara Menggunakan Shortcode WordPress di Halaman atau Postingan dengan Contoh
  3. Cara Mengatur Pengiriman Gratis dengan Pengeluaran Minimum Di WooCommerce