Xin nhắc lại rằng hiện nay không có một plugin nào của Wordpress mà có thể làm ra được một website bán hàng chuyên nghiệp cho dù là nó có đơn giản thế nào đi nữa. Do vậy nếu bạn muốn thiết kế web bán hàng để kinh doanh trực tuyến với các tính năng giỏ hàng, billing, thanh toán trực tuyến... thì tôi nói thẳng luôn là Wordpress sẽ không có plugin nào hỗ trợ mà đòi hỏi bạn phải có kỹ năng lập trình.
Do đó nếu muốn có một trang web để bán hàng online bằng wordpress thì bạn phải nhờ tới một đơn vị thiết kế chuyên nghiệp, còn nếu muốn tự tay mình làm thì có thể tham khảo bài viết tạo website bán hàng bằng Wordpress với Custom Post Type của tôi ở dưới đây.
Với Custom Post Type bạn sẽ tạo được trang danh sách sản phẩm, trang chi tiết sản phẩm và một nút mua hàng để người dùng có thể đặt hàng thông qua website của bạn.
Cũng tương đối nhiều đấy nhỉ, do vậy để làm được như hướng dẫn trong bài viết này tôi yêu cầu bạn cần có một chút kỹ năng cơ bản về ngôn ngữ lập trình PHP và CSS cơ bản. Chắc rồi, ai mà bỏ thời gian nghiên cứu về Wordpress thì chắc cũng biết ít nhiều rồi phải không?
Để làm được các nội dung như ở trên, tôi cần các bạn tìm hiểu và tải về Plugin có tên gọi là Types (WP-Types), plugin này hỗ trợ tương đối nhiều các tính năng mà các plugin khác không làm được, nói chung là nó sẽ hỗ trợ cho bạn tạo website bán hàng bằng wordpress đơn giản nhất.
Rồi, bắt tay vào làm thôi!
Trước tiên bạn phải tải về và cài đặt plugin Types, link dành cho bạn:
http://wp-types.com/documentation/
Sau khi cài đặt thành công, chúng ta sẽ tiến hành tạo một phần để đăng sản phẩm tương tự như Posts khi đăng bài viết vậy, ta tạm gọi nó là Custom Post Type nhé!
Để tạo post type chúng ta vào Types -> Custom Type and Taxanomies -> Add Custom Post Type
Sau đó điền thông tin vào 4 dòng như sau:
Giải thích:
Những nội dung còn lại có thể để nguyên cũng được, sau đó nhấn vào nút Save Custom Post Type ở phía dưới để lưu lại những gì mà đã nhập nãy giờ.
Bây giờ bạn thử nhìn vào menu quản trị bên trái xem đã có mục Sản phẩm hiện ra chưa? nếu có rồi thì chúc mừng bạn đã làm đúng như hướng dẫn rồi đấy.
Taxanomies tương tự như Category và Tag của Posts vậy các bạn, ở đây chúng ta tạm dùng nó để phân loại ra là Nhãn hiệu và loại sản phẩm.
Bạn vào lại phần Types -> Custom Types & Taxanomies -> Add custom Taxanomies
Bây giờ ta sẽ cần tạo một taxonomy mang tên Product Category được gọi là danh mục sản phẩm. Ở đây mình đặt tên vậy để bao quát luôn, còn nếu vào dự án thực tế bạn sẽ đặt tên theo danh mục sản phẩm của bạn, có thể tạo được nhiều danh mục như vậy.
Phần dưới bạn chỉ cần chọn lại là Hierachical để cho phép sử dụng phân chia cấp độ cho taxonomy này (giống như Post Category).
Các phần khác để nguyên, sau đó ấn nút Save Taxonomy.
Bây giờ bạn rê chuột vào phần Products bên menu sẽ thấy mục Product Caegories hiện ra. Bây giờ ta tiến hành tạo thêm một taxonomy nữa mang tên Nhãn hiệu, bạn làm giống như bước trên, chỉ là thay tên thành:
Các bạn đang làm tốt chứ? ổn định các phần trên rồi hẳn kéo xuống xem tiếp nhé!
Các custom field này mình sẽ tạo một số field sau:
Chỉ cần vậy thôi, muốn thêm gì các bạn tự tự hiểu và làm thêm nhé.
Để tạo custom field, bạn vào Types -> Custom Fields -> Add a custom fields group. Ở đây nó sẽ phân theo group, chúng ta nên hiểu mỗi group là một tập hợp nhiều custom fields.
Sau đó điền tên group và chọn post type cần sử dụng group này như hình.
Hãy để ý bên tay phải phần Available fields, đó là những loại kiểu field mà bạn có thể thêm. Ví dụ kiểu Single Line là field nhập chữ với một dòng, kiểu Checkbox là bạn sẽ chọn giá trị field có sẵn,…..
Bây giờ bạn click vào kiểu Single Line và đặt tên như sau.
Bạn chú ý đặt tên Slug như mình ở trên nhé, vì xíu nữa đụng tới code thì còn nhớ mà gọi nó ra, tốt nhất bạn hãy đặt và ghi nhớ như này: product-tên_field
Tiếp theo nhé, chọn WYSIWYG và nhập như hình
Tiếp tục, chọn Radio và thêm như hình…
Vậy là đã hoàn thành xong bước tạo Custom post type rồi đó, tiếp theo sẽ là phần hướng dẫn tạo website bán hàng bằng wordpress bằng cách thêm sản phẩm mẫu lên website.
Vào phần Products -> Add New
Bạn nên thêm từ 3-6 sản phẩm demo khác nhau cho vào các danh mục sản phẩm khác nhau để khi đưa lên website trông sẽ dễ quản lý và theo dõi hơn.
Phần này thì tương đối dễ nên tóm gọn thôi nhé, giờ chúng ta sẽ đi tiếp sang nội dung tiếp theo.
Ở phần này các bạn chú ý ở điểm này, file single.php nếu có dạn là single-{slug}.php thì nó sẽ áp dụng cho post type tương ứng với slug đó. Do vậy bạn tạo cho mình một file với tên single-san-pham.php để áp dụng cho post type là san-pham như ở trên mình đã tạo slug trước đó.
Sau đó, điều đầu tiên mà bạn cần làm là copy nội dung file single.php vào file single-san-pham.php vừa tạo để cho nó có cấu trúc phù hợp với theme bạn đang dùng.
Bây giờ bạn nhìn kỹ vào nội dung, thấy 2 dòng while ( have_posts() ) : the_post()
và endwhile
chứ? Đó là đoạn bắt đầu và kết thúc của Loop. Ở giữa 2 đoạn này có một số code linh ta linh tinh để in các phần như tiêu đề, nội dung bài, category,…Bạn hãy xoá hết nó và viết đoạn code dưới đây vào phần đó.
Copy đoạn code ở dưới đây:
<header> <!--BEGIN: PRODUCT THUMBNAIL--> <div class="product-thumb"> <?php the_post_thumbnail( 'medium' ); ?> </div> <!--END: PRODUCT THUMBNAIL--> <!--BEGIN: PRODUCT INFO--> <div class="product-info"> <h1><?php the_title(); ?></h1> <!--Tiêu đề sản phẩm--> <p class="product-price"> <?php echo "<strong>Giá:</strong> ". get_post_meta( $post->ID, 'wpcf-product-price', true ); ?> </p><!--Giá sản phẩm--> <p class="product-status"> <?php echo "<strong>Tình trạng:</strong> "; $product_status = get_post_meta( $post->ID, 'wpcf-product-status', true ); if ($product_status == conhang) { echo "Còn hàng"; } else { echo "Hết hàng"; } ?> </p><!--Tình trạng sản phẩm--> <div class="product-description"> <?php echo get_post_meta( $post->ID, 'wpcf-product-description', true ); ?> </div><!--Mô tả sản phẩm--> <a href="#" class="order-button">Đặt hàng</a> </div> <!--BEGIN: PRODUCT INFO--> </header> <div class="post-info"> <?php the_content(); ?> </div>
OK, thêm một chút CSS vào cho nó đẹp chút, copy đoạn code dưới đây và dán vào file style.css của bạn:
/*--Shop CSS--*/ .product-thumb { width: 45%; float: left; } .product-info { width: 45%; margin-left: 5%; float: right; } .product-info h1 { font-size: 1.5em; margin-bottom: 0.5em; } .product-price, .product-status, .product-description { margin: 5px 0; } .order-button { color: #fff; background: rgb(33, 189, 12); text-decoration: none; padding: 5px; margin: 15px 0; display: table; } .post-info { clear: both; padding-top: 15px; }
Bây giờ khi xem sản phẩm, ta có kết quả như sau
Xấu lắm đúng không? không sao cái đó chắc bạn tự CSS được mà.
Như vậy là ta đã có một trang chi tiết sản phẩm kèm theo là nút mua hàng rồi, ở nút mua hàng này bạn cần phải code cho nó chuyển hướng sang một form liên hệ nhé, nếu chưa biết tạo form như thế nào bạn có thể tìm hướng dẫn tạo Form với Contact 7 trên Google giúp mình.
OK, sắp xong rồi sang phần cuối cùng nào!
Tạo một file shop.php trong thư mục theme với nội dung như sau:
<?php $temp = $wp_query; $wp_query = null; $wp_query = new WP_Query(); $wp_query->query('showposts=6&post_type=san-pham'.'&paged='.$paged); $count = 0; while ($wp_query->have_posts()) : $wp_query->the_post(); $count++; ?> <?php //Tạo biến chèn class 'thrid' vào mỗi 3 bài viết. if ($count == 3) { $p3 = 'thrid'; $count = 0; } else { $p3 = ''; } ?> <div <?php post_class($p3); ?> id="product-<?php the_ID(); ?>"> <?php the_post_thumbnail( array('class' => 'product-thumb') ); ?> <a href="<?php the_permalink(); ?>"><h3 class="product-title"><?php the_title(); ?></h3></a> <div class="info"> <p style="margin-top: 5px;"><?php echo get_post_meta( $post->ID, 'wpcf-product-price', true ); ?></p> <p class="product-status"> <?php $product_status = get_post_meta( $post->ID, 'wpcf-product-status', true ); if ($product_status == conhang) { echo "<strong style='color:green;'>Còn hàng</strong>"; } else { echo "<strong style='color:red;'>Hết hàng</strong>"; } ?> </p><!--Tình trạng sản phẩm--> <a class="order-button" href="<?php the_permalink();?>">Xem chi tiết</a> </div> </div> <?php endwhile; ?> <nav> <?php previous_posts_link('« Mới hơn') ?> <?php next_posts_link('Cũ hơn »') ?> </nav> <?php $wp_query = null; $wp_query = $temp; // Reset ?>
Thêm một chút CSS vào cho đẹp:
.san-pham { width: 31%; float: left; margin-right: 3%; } .san-pham.thrid { clear: right; margin-right: 0; float: right; }
Ở đoạn loop trên cũng không có gì quá phức tạp nếu bạn chịu khó nhìn kỹ. Mình chỉ là tạo một Query mới với WP_Query để lấy sản phẩm từ post type san-pham
ra ngoài. Trong đoạn query đó, mình có thiết lập thêm biến $paged để nó tiến hành tạo thêm cái phân trang để chúng ta có thể dùng previous_posts_link()
và next_posts_link()
để chèn 2 cái link dẫn tới trang tiếp theo và trang trước đó.
Nếu bạn muốn dùng phân trạng dạng số thì cũng dễ dàng thôi, đó là cài thêm plugin WP-PagiNavi vào và thay đoạn sau
<nav> <?php previous_posts_link('« Mới hơn') ?> <?php next_posts_link('Cũ hơn »') ?> </nav>
Thành:
<?php wp_pagenavi(); ?>
Wow, hãy xem thành quả nãy giờ nào:
Xong rồi đấy, bây giờ bạn có thể sử dụng hoặc tự tuỳ biến thêm cho phù hợp với nhu cầu cá nhân nhé. Nếu bạn muốn đưa page này ra trang chủ, hãy vào Settings -> Reading và Set front page là trang mà bạn vừa tạo.
Bài viết có hơi dài thật đấy nhưng khá chi tiết rồi, cám ơn tác giả Thạch Phạm đã có bài hướng dẫn tạo website bán hàng bằng Wordpress rất có tâm, mình chỉ đơn giản lại cho các bạn dễ thao tác hơn thôi.
Link nguồn: https://thachpham.com/wordpress/wordpress-development/lam-trang-ban-hang-custom-post-type.html
Xin cám ơn đã đọc bài!
Đánh giá
Vương IT là freelancer nhận các dự án lập trình, thiết kế website tại Quận 12 TPHCM. Nhận thiết kế web hcm giá rẻ và các dự án phần mềm theo yêu cầu. Vương là một freelancer thiết kế web đã có hơn 7+ kinh nghiệm thiết kế và lập trình web cho hơn 200+ dự án lớn nhỏ. Hy vọng Vương sẽ được hợp tác cùng mọi người trong thời gian sớm nhất nhé! Add zalo của Vương nha zalo.me/0352833656