Liệt kê sản phẩm theo tác giả

Để hiển thị tất cả sản phẩm của 1 user (tác giả) – áp dụng cho trường hợp web nhiều người đăng. Chúng ta sử dụng đoạn code sau.

// bỏ vô functions.php theme hiện tại

function get_author_product($args) {
    global $product;
    extract($args);
    wp_reset_query();
    $the_user = get_user_by('login', $name);
    $the_user_id = $the_user->ID;
    $args = array(
        'post_type' => 'product',
        'post_status' => 'publish',
        'posts_per_page' => -1,
        'author'    => $the_user_id
    );

    $loop = new WP_Query( $args );
    $output ='Tác giả: '. $name;
    $output .= '<div class="author_products">';
        if ( $loop->have_posts() ) { 
            $output .= '<ul class="author_pubproducts">';
            while ( $loop->have_posts() ) : $loop->the_post();
               $output .= '<li><a href="'. get_the_permalink() .'" >'. get_the_title() .'</a></li>';
            endwhile;
            $output .= '</ul>';	
        }
        else {
            $output .= 'Không có sản phẩm nào';
        }
        wp_reset_postdata();
    $output .= '</div>';
    return $output;
}
add_shortcode('get_author_product','get_author_product');

Chỉ cần để nó vào functions.php của theme đang dùng, sau đó tạo 1 trang mới rồi chèn shortcode sau vào đó

[get_author_product name='user-login']

Nhớ thay user-login thành tên đăng nhập của user bạn muốn thống kê nhé.

Hình ảnh kết quả:

Liệt kê sản phẩm theo tác giả 1

Chúc các bạn thành công!

You May Also Like

Trả lời

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 *