Trong WordPress, nếu nói để làm một trang bán hàng trên mã nguồn này chúng ta có thể nghĩ tới plugin WooCommerce vì nó rất mạnh, hỗ trợ nhiều chức năng để làm được một trang bán hàng chuyên nghiệp. Tuy nhiên, mình vẫn thấy có nhiều bạn hỏi tới việc làm một trang shop đơn giản hơn mà không cần dùng tới plugin này vì nó hơi nặng.
Trong serie bài viết này, mình sẽ hướng dẫn qua về cách làm được một trang shop cực kỳ đơn giản thông qua tính năng Metabox, Custom Post Type và Custom Taxonomy trong WordPress.
Các chức năng chúng ta sẽ làm trong serie này:
Chỉ đơn giản là như vậy thôi nên bạn cũng đừng thắc mắc tại sao nó lại không đầy đủ chức năng như một trang shop chuyên nghiệp nhé.
Trước khi bắt đầu với serie này, mình cần các bạn chuẩn bị một số kỹ năng và phần mềm cơ bản như sau:
Trước tiên bạn cần cài đặt một website WordPress hoàn toàn mới ở localhost và cài theme Sparkling và plugin Piklist vào.
Sở dĩ mình dùng Sparkling là vì trong serie này sẽ cần đụng tới giao diện nên mình cần các bạn dùng chung giao diện này để dễ làm theo bài viết, vì mỗi giao diện cấu trúc sẽ hoàn toàn khác nhau.
Và lý do sử dụng plugin Piklist là để chúng ta tạo custom post type, taxonomy và metabox nhanh hơn. Đặc biệt là nó hỗ trợ repeater metabox hoàn toàn miễn phí, dễ sử dụng.
Debug là để chúng ta xử lý lỗi nhanh hơn trong quá trình viết code vào, vì đôi khi không bật debug sẽ rất khó để dò lỗi. Hãy mở tập tin wp-config.php trong website đã cài đặt ra và tìm đoạn:
define('WP_DEBUG', false);
Và thay thành:
define('WP_DEBUG', true); define('WP_DEBUG_DISPLAY', false); define('WP_DEBUG_LOG', true);
Bây giờ khi website có lỗi (trắng trang hoặc lỗi 500) thì hãy mở tập tin /wp-content/debug.log lên mà xem nhé.
Và nếu muốn, bạn có thể cài thêm plugin Debug Bar, Debug Bar Custom Post Types để tiến hành debug trong website tiện hơn.
Trong bài này chúng ta đã thiết lập xong một website với theme và plugin cần thiết để làm theo serie này. Ở bài kế tiếp mình sẽ hướng dẫn về cách tạo ra child theme của theme Sparkling này đề phòng theme có cập nhật thì những code viết vào sẽ không mất.