Tạo shortcode dạng bảng sản phẩm giống Bancaydep.com

shortcode dạng bảng sản phẩm

Trước mình mò chưa ra dạng bảng sản phẩm toàn phải làm plugin nhưng hôm nay mình viết đoạn code chia sẻ với anh em dùng Woocommerce của mã nguồn wordpress đoạn code tạo shortcode dạng bảng sản phẩm giống gồm sản phầm, tên sản phẩm, mã sản phâm,giá sản phẩm chèn thẳng vào Child: functions.php

function product_table_with_price_shortcode($atts) {
    $atts = shortcode_atts(array(
        'category' => '',
        'tag' => '',
        'columns' => 3,
        'limit' => 10,
        'order' => 'rand', // Thêm 'asc' để sắp xếp từ thấp đến cao, 'desc' để sắp xếp từ cao đến thấp
    ), $atts);

    $args = array(
        'post_type' => 'product',
        'posts_per_page' => $atts['limit'],
        'product_cat' => $atts['category'],
        'product_tag' => $atts['tag'],
        'orderby' => 'meta_value_num',
        'meta_key' => '_price',
        'order' => $atts['order'],
    );

    $products_query = new WP_Query($args);

    ob_start();

    if ($products_query->have_posts()) {
        echo '<table class="product-table">';
        echo '<tr>';
        echo '<th>Tên sản phẩm</th>';
        echo '<th>Mã sản phẩm</th>';
        echo '<th>Giá sản phẩm</th>';
        echo '</tr>';

        while ($products_query->have_posts()) {
            $products_query->the_post();
            $product_id = get_the_ID();
            $product_url = get_permalink($product_id);
            $regular_price = get_post_meta($product_id, '_regular_price', true);
            $product_price = ($regular_price && $regular_price > 0) ? wc_price($regular_price) : 'Liên hệ';

            echo '<tr>';
            echo '<td>';
            echo '<a href="' . esc_url($product_url) . '">' . get_the_title() . '</a>';
            echo '</td>';
            echo '<td>';
            echo get_post_meta($product_id, '_sku', true);
            echo '</td>';
            echo '<td>';
            echo $product_price;
            echo '</td>';
            echo '</tr>';
        }

        echo '</table>';
    } else {
        echo 'Không có sản phẩm nào.';
    }

    wp_reset_postdata();
    return ob_get_clean();
}

add_shortcode('product_table_with_price', 'product_table_with_price_shortcode');

// hiển thị giá sản phẩm theo bảng Để sử dụng shortcode này, bạn có thể chèn

[ product_table_with_price category="CATEGORY_SLUG" tag="TAG_SLUG" columns="3" limit="10" order="desc" ]

vào bài viết hoặc trang. các bạn nhớ bỏ dấu cách ở [  và  ] nhé Đồng thời, thay CATEGORY_SLUG bằng slug của danh mục sản phẩm hoặc TAG_SLUG bằng slug của tag sản phẩm mà bạn muốn hiển thị. Columns để xác định số cột, limit để giới hạn số sản phẩm hiển thị, và order để sắp xếp sản phẩm theo yêu cầu của bạn (có thể là asc hoặc desc hoặc rand để hiển thị ngẫu nhiên).