• Về minhduy.vn
  • Đăng ký Hosting
  • Thiết kế Website
  • Khuyến mãi HOT
Hướng Dẫn Sử Dụng Dịch Vụ - Minh Duy Solutions
  • Trang chủ
  • Hosting
    • Hướng dẫn Hosting cPanel
    • Hướng dẫn Hosting DirectAdmin
  • Tên miền
  • Website
    • Hướng dẫn WordPress
    • Hướng dẫn Webmaster
  • Email Doanh Nghiệp
    • Office 365
    • Google Work Space
    • Email Zimbra
  • VPS – Máy chủ
    • Hướng dẫn Linux
    • Hướng dẫn DirectAdmin
  • Hướng dẫn chung
  • Góc ICT
No Result
View All Result
  • Trang chủ
  • Hosting
    • Hướng dẫn Hosting cPanel
    • Hướng dẫn Hosting DirectAdmin
  • Tên miền
  • Website
    • Hướng dẫn WordPress
    • Hướng dẫn Webmaster
  • Email Doanh Nghiệp
    • Office 365
    • Google Work Space
    • Email Zimbra
  • VPS – Máy chủ
    • Hướng dẫn Linux
    • Hướng dẫn DirectAdmin
  • Hướng dẫn chung
  • Góc ICT
No Result
View All Result
Hướng Dẫn Sử Dụng Dịch Vụ - Minh Duy Solutions
No Result
View All Result
Home Hướng dẫn Website Hướng dẫn WordPress

Hiển thị danh sách sản phẩm của một Danh mục bất kỳ trên Flatsome

Minh Duy Solutions by Minh Duy Solutions
17/06/2023
Reading Time: 8 mins read
A A
0
luu ban nhap tu dong 3867
782
SHARES
2.5k
VIEWS
Share on FacebookShare on Twitter

Contents

  1. Hiển thị danh sách sản phẩm của Danh mục được chọn
  2. Áp dụng cho Theme Flatsome
    1. Hiển thị dạng Grid
    2. Hiển thị dạng List
    3. Hiển thị dạng Slider
4.5/5 - (162 bình chọn)

luu ban nhap tu dong 3867

Mục lục

Vì một lý do nào đó mà bạn muốn chọn hiển thị Danh sách sản phẩm của một danh mục nào đó với thiết kế riêng, không phải của Theme hay mặc định của Woocommerce. Bài viết này sẽ giúp bạn dễ dàng thực hiện được điều ấy.

Hiển thị danh sách sản phẩm của Danh mục được chọn

Dưới đây là đoạn code để hiển thị Danh sách sản phẩm của danh mục mà mình sưu tầm được:

<h2>Tên danh mục</h2>
<ul class="products">
    <?php
        $args = array( 'post_type' => 'product', 'posts_per_page' => 1, 'product_cat' => 'ten-danh-muc', 'orderby' => 'rand' );
        $loop = new WP_Query( $args );
        while ( $loop->have_posts() ) : $loop->the_post(); global $product; ?>
            
                <li class="product">    
                    <a href="<?php echo get_permalink( $loop->post->ID ) ?>" title="<?php echo esc_attr($loop->post->post_title ? $loop->post->post_title : $loop->post->ID); ?>">
                        <?php woocommerce_show_product_sale_flash( $post, $product ); ?>
                        <?php if (has_post_thumbnail( $loop->post->ID )) echo get_the_post_thumbnail($loop->post->ID, 'shop_catalog'); else echo '<img src="'.woocommerce_placeholder_img_src().'" alt="Placeholder" width="300px" height="300px" />'; ?>
                        <h3><?php the_title(); ?></h3>
                        <span class="price"><?php echo $product->get_price_html(); ?></span>                    
                    </a>
                    <?php woocommerce_template_loop_add_to_cart( $loop->post, $product ); ?>
                </li>
    <?php endwhile; ?>
    <?php wp_reset_query(); ?>
</ul><!--/.products-->

Như trên chúng ta có thể thấy:

  • Post Type: Product
  • Post Per Page: Số sản phẩm hiển thị ra, ở đây đang để là 1
  • Product Cat: Slug của danh mục sản phẩm
  • Order By: Thứ tự sắp xếp, ở đây là Random
  • Các thành phần hiển thị ra
    • Thumbnail: Size 300x300px
    • Tiêu đề
    • Giá
    • Thêm vào giỏ hàng

Với đoạn code này, chúng ta có thể gọi ra số lượng sản phẩm mong muốn của một danh mục bất kỳ.

Áp dụng cho Theme Flatsome

Hiển thị dạng Grid

Đây là kiểu hiển thị cơ bản mặc định của Flatsome với các sản phẩm được chia theo hàng – cột

luu ban nhap tu dong 3867 1
Danh sách Sản phẩm dạng Grid

Để hiển thị như này, chúng ta sử dụng đoạn code dưới đây:

<div class="products row row-small align-equal">
    <?php
        $args = array( 'post_type' => 'product', 'posts_per_page' => 12, 'product_cat' => 'cap-sac', 'orderby' => 'rand' );
        $loop = new WP_Query( $args );
        while ( $loop->have_posts() ) : $loop->the_post(); global $product; ?>
            <div class="col large-3 small-12">
                <div class="col-inner box-shadow-1 box-shadow-3-hover">
                    <div class="product-small box <?php echo flatsome_product_box_class(); ?>">
                        <div class="box-image">
                            <?php woocommerce_show_product_sale_flash( $post, $product ); ?>
                            <div class="<?php echo flatsome_product_box_image_class(); ?>">
                                <a href="<?php echo get_permalink( $loop->post->ID ) ?>" title="<?php echo esc_attr($loop->post->post_title ? $loop->post->post_title : $loop->post->ID); ?>">
                                    <?php if (has_post_thumbnail( $loop->post->ID )) echo get_the_post_thumbnail($loop->post->ID, 'shop_catalog'); else echo '<img src="'.woocommerce_placeholder_img_src().'" alt="Placeholder"/>'; ?>
                                </a>
                            </div>
                        </div>
                        <div class="box-text">
                            <a href="<?php echo get_permalink( $loop->post->ID ) ?>" title="<?php echo esc_attr($loop->post->post_title ? $loop->post->post_title : $loop->post->ID); ?>">
                                <h3><?php the_title(); ?></h3>
                            </a> 
                            <span class="price-wrapper"><?php echo $product->get_price_html(); ?></span>         
                            
                        </div>
                    </div>
                </div>
            </div>
    <?php endwhile; ?>
    <?php wp_reset_query(); ?>
</div><!--/.products-->

Việc còn lại là tùy chỉnh CSS cho đẹp mắt

Hiển thị dạng List

Đây là kiểu hiển thị với Ảnh thumbnail bên trái, nội dung (bao gồm Tiêu đề, Mô tả ngắn, Giá) nằm ở bên phải.

luu ban nhap tu dong 3867 2
Danh sách Sản phẩm dạng List

Đoạn code cho kiểu hiển thị này như sau:

<div class="products row row-small align-equal">
    <?php
        $args = array( 'post_type' => 'product', 'posts_per_page' => 12, 'product_cat' => 'cap-sac', 'orderby' => 'rand' );
        $loop = new WP_Query( $args );
        while ( $loop->have_posts() ) : $loop->the_post(); global $product; ?>
            <div class="col large-6 small-12">
                    <div class="col-inner box-shadow-1 box-shadow-3-hover">
                        <div class="product-small box <?php echo flatsome_product_box_class(); ?>">
                            <div class="row row-small">
                                <div class="col large-4 small-12">
                                    <div class="box-image">
                                        <?php woocommerce_show_product_sale_flash( $post, $product ); ?>
                                        <div class="<?php echo flatsome_product_box_image_class(); ?>">
                                            <a href="<?php echo get_permalink( $loop->post->ID ) ?>" title="<?php echo esc_attr($loop->post->post_title ? $loop->post->post_title : $loop->post->ID); ?>">
                                                <?php if (has_post_thumbnail( $loop->post->ID )) echo get_the_post_thumbnail($loop->post->ID, 'shop_catalog'); else echo '<img src="'.woocommerce_placeholder_img_src().'" alt="Placeholder"/>'; ?>
                                            </a>
                                        </div>
                                    </div>
                                </div>
                                <div class="col large-8 small-12">
                                    <div class="box-text">
                                        <a href="<?php echo get_permalink( $loop->post->ID ) ?>" title="<?php echo esc_attr($loop->post->post_title ? $loop->post->post_title : $loop->post->ID); ?>">
                                            <h3><?php the_title(); ?></h3>
                                        </a> 
                                        <?php the_excerpt(); ?>
                                        <span class="price-wrapper"><?php echo $product->get_price_html(); ?></span>         
                                        
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
            </div>
    <?php endwhile; ?>
    <?php wp_reset_query(); ?>
</div><!--/.products-->

Hiển thị dạng Slider

Chỉ cần một thay đổi nhỏ ở đoạn code ở 2 cách hiển thị Grid và List ở trên, chúng ta sẽ có kiểu hiển thị Slider, cụ thể:

Đoạn

<div class="products row row-small align-equal">

Được thay thế bằng đoạn

<div class="relatedslider row row-small row-slider slider slider-nav-simple slider-nav-large slider-nav-dark slider-style-normal slider-show-nav"  data-flickity-options='{"imagesLoaded": true, "groupCells": "100%", "dragThreshold" : 5, "cellAlign": "left","wrapAround": true,"prevNextButtons": true,"percentPosition": true,"pageDots": true, "rightToLeft": true, "autoPlay" : false}'>

Kết quả là chúng ta có Slider tương ứng như sau

luu ban nhap tu dong 3867 3
Danh sách sản phẩm dạng Grid Slider
luu ban nhap tu dong 3867 4
Danh sách Sản phẩm dạng List Slider

Việc còn lại là chúng ta tùy chỉnh CSS để hiển thị trông đẹp mắt hơn.

Trên đây là chia sẻ từ kinh nghiệm triển khai dự án của mình, là một trong nhiều cách để đạt được mong muốn hiển thị sản phẩm theo yêu cầu. Hi vọng nó sẽ giúp được bạn khi triển khai dự án của mình.

Chúc bạn thành công!

Tags: WordPressflatsome
Share313Tweet196
Minh Duy Solutions

Minh Duy Solutions

Bài viết liên quan

stop wordpress user registration spam
Hướng dẫn WordPress

Hướng dẫn xoá hàng loạt user spam trên WordPress

23/05/2025
1.5k
thanh top woo c
Hướng dẫn Website

Hướng dẫn ẩn thanh Edit Product che mất tùy chọn khi đăng sản phẩm của WooComerce

24/09/2024
1.6k
flatsome theme 1
Hướng dẫn Website

Hướng dẫn tắt UXBuilder ở 1 số post type theme Flatsome

24/09/2024
1.6k
flatsome theme 1
Hướng dẫn Website

Bật UX Builder cho Custom post type trên theme Flatsome

24/09/2024
1.7k
Contact Form 7
Hướng dẫn Website

Chống spam cho plugin Contact Form 7

19/06/2024
1.5k
Contact Form 7
Hướng dẫn WordPress

Hướng dẫn cách truyền tiêu đề bài viết, sản phẩm vào Contact Form 7

19/06/2024
1.6k

Để lại một bình luận Hủy

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

No Result
View All Result

Recommended.

kich hoat variation swatches for woocommerce mac dinh cua flatsome 3609

Kích hoạt Variation Swatches for WooCommerce mặc định của Flatsome

04/03/2023
1.6k
yeu cau ho tro

Hướng dẫn gửi yêu cầu hỗ trợ trên my.minhduy.vn

22/11/2021
1.5k

Trending.

cach tao doi quoc gia cho tai khoan google 4082

Cách tạo (đổi quốc gia) cho tài khoản Google

24/01/2024
20k
cach tao doi quoc gia cho tai khoan google 4082

Cách xóa hồ sơ thanh toán tài khoản Google

24/01/2024
4.9k
57acc582dde37df0a76107d2fb2448d8

Cách Ngắt Link Ảnh Trong Adobe Illustrator, Đơn Giản, Hiệu Quả

04/10/2022
15.4k
cach sua loi co ve nhu ban o quoc gia khac voi nguoi quan ly gia dinh google 4097 3

Cách sửa lỗi Có vẻ như bạn ở quốc gia khác với người quản lý gia đình Google

24/01/2024
2.5k

Hướng dẫn yêu cầu Canva hủy gói đăng ký và yêu cầu hoàn tiền Canva

12/04/2025
1.7k
Wiki Minh Duy Solutions

WIKI.MINHDUY.VN

Chuyên trang hướng dẫn sử dụng dịch vụ của Minh Duy Solutions

DMCA.com Protection Status

Danh mục

  • aaPanel
  • Góc ICT
  • Thiết Kế Đồ Hoạ
  • SEO
  • Hướng dẫn WHMCS
  • Hướng dẫn Hosting
  • Hướng dẫn WordPress
  • Email Zimbra
  • Hướng dẫn DirectAdmin
  • Hướng dẫn Hosting cPanel
  • Office 365
  • Hướng dẫn Website
  • Hướng dẫn Linux
  • Hướng dẫn Hosting DirectAdmin
  • Google Work Space
  • Hướng dẫn Webmaster
  • Hướng dẫn máy chủ
  • Hướng dẫn Email Doanh Nghiệp
  • Hướng dẫn Tên miền
  • Hướng dẫn chung
  • Uncategorized

Thẻ

AFC apt-get update apt-get upgrade category chủ thể cPanel debian DirectAdmin email doanh nghiệp Environment Variables giải nén Google Workspace G Suite hosting ioncube khôi phục mật khẩu linux nginx nmap nodejs npm Office 365 OneDrive Outlook out of memory path Paypal phpmyadmin SMTP. GMail SSH sudo swap Symbolic Link tar tar.gz thông báo tên miền tên miền ubuntu user whois WooCommerce WordPress wordpress cơ bản wp rocket Zimbra
  • Về minhduy.vn
  • Đăng ký Hosting
  • Thiết kế Website
  • Khuyến mãi HOT

Copyright © 2021 Hướng dẫn Minh Duy Solutions

Welcome Back!

Login to your account below

Forgotten Password?

Retrieve your password

Please enter your username or email address to reset your password.

Log In

Add New Playlist

×
    No Result
    View All Result
    • Trang chủ
    • Hosting
      • Hướng dẫn Hosting cPanel
      • Hướng dẫn Hosting DirectAdmin
    • Tên miền
    • Website
      • Hướng dẫn WordPress
      • Hướng dẫn Webmaster
    • Email Doanh Nghiệp
      • Office 365
      • Google Work Space
      • Email Zimbra
    • VPS – Máy chủ
      • Hướng dẫn Linux
      • Hướng dẫn DirectAdmin
    • Hướng dẫn chung
    • Góc ICT

    Copyright © 2021 Hướng dẫn Minh Duy Solutions