Cần giúp đỡ show category sản phẩm từ custom posts type trong wordpress

Thảo luận trong 'Wordpress Themes' bắt đầu bởi Xuannb, 26/9/13.

  1. Xuannb

    Xuannb Lính mới

    Tham gia ngày:
    26/9/13
    Bài viết:
    5
    Đã được thích:
    0
    Điểm thành tích:
    1
    Xin chào các bạn trong diễn đàn.

    Hiện mình đang muốn làm một trang web bán hàng trên wordpress. Và mình đang có theme như thế này.

    [​IMG]
    Về chức năng gian hàng thì bác này khá là okie và mình rất thích tuy nhiên nó lại không được onpage tốt cho SEO.

    Về mặt cấu trúc thì trang chủ của bạn này mình đang cần show danh mục sản phẩm ngay trên trang chủ. mỗi danh mục hiện thị 10 sản phẩm.

    Nhưng hiện tại mình không thể lấy được danh mục sản phẩm của bạn ý vì nó là custom posts type. Mình đã lang thang trên trang chủ wordpress nhưng không tìm thấy code và tự code cũng không được.

    Mình đang cần đoạn code này rất mong các chuyên gia wordpress giúp đỡ.
     
  2. Xuannb

    Xuannb Lính mới

    Tham gia ngày:
    26/9/13
    Bài viết:
    5
    Đã được thích:
    0
    Điểm thành tích:
    1
    Mọi người đâu hết rồi. không biết các cao thủ wordpress đâu rùi vào giúp mình một tay đi. Mình hết cách không biết mọi người có cách gì giúp mình được không?
     
  3. bestsongvn

    bestsongvn Đang làm quen

    Tham gia ngày:
    23/3/13
    Bài viết:
    184
    Đã được thích:
    0
    Điểm thành tích:
    16
    Pro thì không có nhưng free thì có
    Bạn sử dụng custom query
    VD: Bạn có custom post type là "apple"
    thì archive của nó là archive-apple.php
    trong file này bạn sử dụng custom query:
    PHP:
    <?php
    $args
    =array(
    'showposts' => 10,
    'cat' => $catid,
    );
    $qstr=new wp_query($args);
    if (
    $qstr->have_posts()):while($qstr->have_posts()):$qstr->the_post;
    ....
    ?>
    Trong đó $catid là category bạn cần lấy sản phẩm để hiển th
    $catid có thể lấy thông qua câu lệnh get_query_var('cat');
     
  4. manh

    manh Đang làm quen

    Tham gia ngày:
    25/1/10
    Bài viết:
    213
    Đã được thích:
    1
    Điểm thành tích:
    18

    Phần custom posts type là phần post. Bạn muốn lấy phần category thì nó liên quan đến taxonomy. Cách lấy ví dụ như sau:

    Mã:
    $taxomonies	=	get_categories( array('taxonomy' 	 => 'product_category', // thay taxonomy của bạn (tìm trong functions.php hoặc các file includes)
                                                                   'type'		 =>	'product',// thay product bằng custom post type của bạn
    								'orderby'       => 'id',
    								'order'          => 'DESC',	
    								 'hide_empty' => 0
    						));
    
    foreach($taxomonies as $taxomony):	
         term_taxonomy_id   =      $taxomony->term_taxonomy_id;// Đây chính là cat_id
         $term_link		=	get_term_link( $taxomony->slug, 'product_category' );// Link của cat_id
         $term_desc		=	$taxomony->description;// Mô tả của category
        $term_title		=	$taxomony->cat_name;// tên của category							
    endforeach;
    							
    
    trong mỗi vòng lặp foreach này bạn có thể tạo các query để lấy các bài post như bạn bestsongvn đã post ở trên.

    Hy vọng giúp đc bạn.
     
  5. Xuannb

    Xuannb Lính mới

    Tham gia ngày:
    26/9/13
    Bài viết:
    5
    Đã được thích:
    0
    Điểm thành tích:
    1
    Trước tiên mình xin cảm ơn hai bạn đã góp ý. Mình sẽ về code thử xem sao. hy vọng là mình có thể lấy nó ra được. Mình ủ máu cho cái theme này lâu lắm rồi
     
  6. Xuannb

    Xuannb Lính mới

    Tham gia ngày:
    26/9/13
    Bài viết:
    5
    Đã được thích:
    0
    Điểm thành tích:
    1
    Chào 2 bác em đã thử áp dụng của 2 bác nhưng khi shown lên trang chủ thì vẫn không được thuật toán của em như thế giầy các bác xem xét xem lỗi như thế nào rồi mách nước cho em với.

    ---code=---

    $taxomonies = get_categories( array('taxonomy'=> 'groups', // thay taxonomy của bạn (tìm trong functions.php hoặc các file includes)
    'poststype'=> 'products',// thay product bằng custom post type của bạn
    'orderby' => 'id',
    'order' => 'DESC',
    'hide_empty' => 0
    ));
    //print_r($taxomonies);
    foreach($taxomonies as $taxomony):
    $cat_ID = $taxomony->cat_ID;
    $term_taxonomy_id = $taxomony->term_taxonomy_id;// Đây chính là cat_id
    $term_link = get_term_link( $taxomony->slug, 'groups' );// Link của cat_id
    $term_desc = $taxomony->description;// Mô tả của category
    $term_title = $taxomony->cat_name;// tên của category
    //echo $cat_ID;

    $args=array(
    'showposts' => 10,
    'cat' => $term_taxonomy_id,
    );
    $qstr=new wp_query($args);
    if ($qstr->have_posts()):while($qstr->have_posts()):$qstr->the_post;
    //$term = get_term_by( 'slug','do-choi-tri-tue','groups' );
    $qstr=new wp_query($term);
    //print_r($qstr);
    if ($qstr->have_posts()):while($qstr->have_posts()):$qstr->the_post;
    ?>
    <div class="img">
    <a href="<?php the_permalink(); ?>"><img class="item_thumb" src="<?php get_image_url('thumbnail'); ?>" alt="<?php the_title(); ?>" width="174px" height='175px' /></a>
    </div>

    <?php endwhile;
    endif;
    endforeach;
    ?>



    ---hết=------

    Vấn đề là em muốn show ra trang chủ mà trang chủ thi cũng có những sản phẩm phẩm mới được show ra lên nó bị chùng code hiển thị sản phẩm là đoạn mã này.

    <div class="img">
    <a href="<?php the_permalink(); ?>"><img class="item_thumb" src="<?php get_image_url('thumbnail'); ?>" alt="<?php the_title(); ?>" width="174px" height='175px' /></a>
    </div>

    với em cũng không thấy có câu truy vấn lấy category custom posts type. khi truy vấn theo kiểu trên thì nó không lấy được sản phẩm. Rất mong được các bạn chỉ giáo.
     
Đang tải...

Chia sẻ trang này