Hướng dẫn thêm tính năng ẩn hiện content danh mục sản phẩm

huong-dan-them-tinh-nang-an-hien-content-danh-muc-san-pham

Trong bài viết này, Wiweb sẽ hướng dẫn bạn cách thêm tính năng ẩn/hiện nội dung cho danh mục sản phẩm trên WooCommerce. Đây là một cách giúp tối ưu hóa hiển thị nội dung dài và nâng cao trải nghiệm người dùng. Hãy cùng bắt đầu!

Tạo hàm hiển thị nội dung danh mục

Chỉnh sửa tệp functions.php

  • Đăng nhập vào trang quản trị admin.
  • Truy cập Sửa tệp tin giao diện, sau đó mở tệp functions.php.

Thêm đoạn mã sau:
function woocommerce_taxonomy_archive_description() { 

    echo ‘<div class=”category-description”>

            <div class=”read-me-area”>’;

    echo category_description($category_id);

    echo ‘</div>

        <div class=”read-me text-center” style=”position: relative; bottom: 60px;”>

            <a class=”read-me-link” href=”#”><span class=”no1″>Xem thêm</span><span class=”no2″>Ẩn bớt</span></a>

        </div>

        </div>’;

};

Ý nghĩa:

Hàm này hiển thị nội dung mô tả danh mục sản phẩm trong một thẻ HTML với các lớp như:

  • category-description: chứa toàn bộ nội dung.
  • read-me-area: bọc nội dung mô tả.
  • read-me-link: nút “Xem thêm/Ẩn bớt”, nằm ở vị trí cách đáy 60px.
Tạo hàm hiển thị nút trong function.php
Tạo hàm hiển thị nút trong function.php

Thêm chức năng JavaScript cho nút

Bước 1: Bổ sung mã JavaScript

Truy cập Flatsome > Global Settings, chọn Advanced, sau đó thêm mã sau vào Footer Scripts:
<script>

jQuery(“.read-me-link”).on(‘click’, function(e) {

    var box = jQuery(this).closest(‘.category-description’);

    box.toggleClass(‘open’);

    e.preventDefault();

});

</script>

Chức năng:

Khi nhấn vào nút .read-me-link, đoạn mã sẽ:

  • Tìm thẻ cha gần nhất với lớp category-description.
  • Thêm hoặc xóa lớp open để điều khiển trạng thái hiển thị nội dung.
  • Lệnh e.preventDefault() giúp ngăn liên kết thực hiện hành động mặc định (như chuyển hướng).
Bổ sung JS cho nút
Bổ sung JS cho nút

Thêm CSS định dạng hiển thị

Bổ sung mã CSS

Truy cập Tùy chỉnh > Bổ sung CSS và thêm đoạn mã sau:
.read-me-area{

    position: relative;

    overflow-y: hidden;

    height: 100px;

    transition: 500ms all ease;

    margin-bottom: 50px;

}

.category-description.open .read-me-area{

    height: auto;

}

.read-me{

    position: absolute;

    bottom: 0;

    left: 0;

    width: 100%;

    height: 40%;

    text-align: center;

}

.category-description.open .read-me{

    position: relative;

    height: auto;

    top: -70px;

    background: no-repeat;

}

.read-me a{

    transform: translateY(30px);

    display: inline-flex;

    align-items: center;

    color: #0c50a3;

    border-radius: 5px;

    font-weight: 600;

}

.read-me a:after{

    content: “\f107”;

    display: inline-block;

    margin-right: 5px;

    font: normal normal normal 14px/1 FontAwesome;

}

.category-description.open .read-me a:after{

    content: “\f106”;

}

.category-description .read-me-link span{

    display: none;

}

.category-description .read-me-link span.no1{

    display: block;

}

.category-description.open .read-me-link span.no2{

    display: block;

}

.category-description.open .read-me-link span.no1{

    display: none;

}

Chức năng CSS:

  • .category-description: giới hạn chiều cao và ẩn nội dung dư.
  • .category-description.open: mở toàn bộ nội dung khi có lớp open.
  • .no1.no2: đổi nội dung hiển thị giữa “Xem thêm” và “Ẩn bớt”.
Kết quả sau khi chỉnh css
Kết quả sau khi chỉnh css

Kiểm tra và hoàn tất

  • Lưu lại tất cả thay đổi.
  • Kiểm tra giao diện để đảm bảo nút Xem thêm/Ẩn bớt hoạt động mượt mà.

Video hướng dẫn thêm tính năng ẩn hiện content danh mục sản phẩm

Với hướng dẫn trên, bạn đã hoàn thành việc thêm tính năng ẩn hiện content danh mục sản phẩm cho website WooCommerce. Nếu bạn cần hỗ trợ thêm, đừng ngần ngại liên hệ Wiweb để được tư vấn chi tiết hơn!

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

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 *

// Heading CSS