Tạo custom post type là nhu cầu hết sức thiết thực trong quá trình bạn sử dụng WordPress, bạn mong muốn tạo ra một post type mới có thể giúp bạn đăng và quản lý video hoặc post type có thể đăng và quản lý sản phẩm,… bài viết này sẽ giúp bạn làm được những điều như vậy.
Trong bài viết này Sáu sẽ hướng dẫn cho bạn cách tạo post type Sản phẩm để làm một trang shop với WordPress. Bạn có thể sử dụng tập tin functions.php của giao diện hoặc tạo một plugin mới để chèn đoạn code bên dưới vào:
function stheme_product_post_type() { $labels = array( 'name' => _x( 'Sản phẩm', 'Tên của post type', 'stheme' ), 'singular_name' => _x( 'Sản phẩm', 'Tên của post type', 'stheme' ), 'menu_name' => __( 'Sản phẩm', 'stheme' ), 'parent_item_colon' => __( 'Parent Item:', 'stheme' ), 'all_items' => __( 'Quản lý sản phẩm', 'stheme' ), 'view_item' => __( 'Xem sản phẩm', 'stheme' ), 'add_new_item' => __( 'Thêm sản phẩm', 'stheme' ), 'add_new' => __( 'Thêm sản phẩm', 'stheme' ), 'edit_item' => __( 'Sửa sản phẩm', 'stheme' ), 'update_item' => __( 'Cập nhật sản phẩm', 'stheme' ), 'search_items' => __( 'Tìm kiếm sản phẩm', 'stheme' ), 'not_found' => __( 'Chưa có sản phẩm nào được tạo.', 'stheme' ), 'not_found_in_trash' => __( 'Không có sản phẩm trong này.', 'stheme' ), ); $args = array( 'label' => __( 'sproduct', 'stheme' ), 'description' => __( 'Quản lý danh mục sản phẩm', 'stheme' ), 'labels' => $labels, 'supports' => array('title', 'editor', 'thumbnail', 'comments', 'excerpt'), 'taxonomies' => array( 'category', 'post_tag' ), 'hierarchical' => false, 'public' => true, 'rewrite' => array("slug" => "san-pham"), 'show_ui' => true, 'show_in_menu' => true, 'show_in_nav_menus' => true, 'show_in_admin_bar' => true, 'menu_position' => 5, 'menu_icon' => get_splugin_uri('/images/icon-shop.png'), 'can_export' => true, 'has_archive' => false, 'exclude_from_search' => false, 'publicly_queryable' => true, 'capability_type' => 'post' ); register_post_type( 'sproduct', $args ); } add_action( 'init', 'stheme_product_post_type', 0 );
Với đoạn code bên trên bạn sẽ tạo một custom post type với id là sproduct và tên là Sản phẩm, ngoài ra thì slug hiển thị trên đường dẫn thân thiện với SEO là san-pham. Sản phẩm sẽ có các chức năng dựa trên bài viết (post) trên blog của bạn, tuy nhiên nó sẽ được cụ thể hóa hơn, bạn có thể đăng các sản phẩm trên shop của bạn vào mục này.
Hình bên trên là demo cho bạn thấy kết quả sau khi bạn thực hiện, trong này có đường link dẫn đến tập tin icon, bạn có thể tìm kiếm một hình ảnh nền trong suốt đuôi .png bất kỳ với kích thước 16×16 để thêm vào. Chúc bạn thành công.
mình muốn chỉnh cái functions.php trong dashboard thì làm thế nào vậy anh Sáu ???
Bạn vào menu Appearance >> Editor nhé, tuy nhiên nên dùng FTP để tải về máy tính, chỉnh sửa xong rồi up lên lại.
ban tạo cái này thành plugin giúp mình đc ko.thanks nhìu
Plugin tạo post type thì có nhiều rồi, bạn có thể tìm kiếm theo từ khóa post type plugin trên Google hoặc sử dụng plugin Types: https://wordpress.org/plugins/types/
mình thêm vào funtion thì bị lỗi ở chỗ này: ‘menu_icon’ => get_splugin_uri(‘/images/icon-shop.png’),.xem giúp mình với.tks
Hàm này get_splugin_uri nằm trong plugin hay giao diện nào đấy bạn?
trong file funtion.php khong phải plugin.mà trong plugin cũng lỗi
Nếu là code của bạn chèn vào tập tin functions.php của giao diện thì bạn nên kiểm tra lại như những gì mình đã nói.
http://adf.ly/1NEW4q
ok.để mình kiểm tra lại.thanks b đã giúp đỡ nha
cho mình hỏi lỗi này là sao hi:
Warning: Cannot modify header information – headers already sent by (output started at C:\xampp\htdocs\thutheme\wp-content\plugins\san-pham1\san-pham1.php:1) in C:\xampp\htdocs\thutheme\wp-includes\option.php on line 787
Warning: Cannot modify header information – headers already sent by (output started at C:\xampp\htdocs\thutheme\wp-content\plugins\san-pham1\san-pham1.php:1) in C:\xampp\htdocs\thutheme\wp-includes\option.php on line 788
tks
Có nhiều nguyên nhân dẫn đến lỗi này, có thể là File Encoding bị lỗi, cũng có thể là bạn bị thừa khoản trắng phía sau mở và đóng php (), cũng có thể là bạn xuất HTML trước khi redirect hoặc start session,…
Để biết được nguyên nhân thì bạn phải hiểu về code, phải xác định được do plugin hay do giao diện làm ra lỗi từ đó mới khoanh vùng tìm kiếm mà khắc phục.
cảm ơn chủ thớt. Hướng dẫn rất chi tiết
Bạn vào menu Appearance >> Editor nhé, tuy nhiên nên dùng FTP để tải về máy tính, chỉnh sửa xong rồi up lên lại.