Query post wordpress

Thảo luận trong 'Wordpress' bắt đầu bởi pvandung, 12/5/15.

  1. pvandung

    pvandung Đang làm quen

    Tham gia ngày:
    30/3/11
    Bài viết:
    58
    Đã được thích:
    0
    Điểm thành tích:
    6
    Hi các bác
    Em muốn query post với điều kiện như sau
    - Lấy 3 bài ngẫu nhiên trong tháng 5, nếu tháng 5 có 2 bài thì lấy 1 bài của tháng 4. Lúc nao cũng phải có 3 bài
    Mong các bác giúp đỡ. xin cám ơn
     
  2. vuvps

    vuvps Lính mới

    Tham gia ngày:
    11/5/15
    Bài viết:
    18
    Đã được thích:
    0
    Điểm thành tích:
    1
    Cái này không đơn giản là dùng query post đâu bác, bác phải viết thêm một functions check kết quả, nếu nhỏ hơn x thì thực hiện tiếp query post tiếp.
     
  3. tonynguyen

    tonynguyen Đang làm quen

    Tham gia ngày:
    22/6/14
    Bài viết:
    35
    Đã được thích:
    0
    Điểm thành tích:
    6
    Bạn thử xem có được không? đang không ở nhà nên không test cho bạn được
    PHP:
    <?php
        
    function get_3of_month($month)
        {
            global 
    $wpdb;
            
    $countPostOfMonth=$wpdb->get_var("SELECT COUNT(ID) FROM {$wpdb->prefix}posts WHERE MONTH(post_date)=".$month." AND post_status='publish'");
            if (
    $countPostOfMonth<=2) {
                
    $prevMonth=$month-1;
                
    $postPrev=$wpdb->get_row("SELECT * FROM {$wpdb->prefix}posts WHERE MONTH(post_date)=".$prevMonth." AND post_status='publish' AND post_type='post' ORDER BY RAND()",ARRAY_A);
                
    $postCurrent=$wpdb->get_row("SELECT * FROM {$wpdb->prefix}posts WHERE MONTH(post_date)=".$month." AND post_status='publish' AND post_type='post' ORDER BY RAND()",ARRAY_A);
                
    $posts=array_merge($postPrev,$postCurrent);
            }
            return 
    $posts;
        }
    ?>
     
    Chỉnh sửa cuối: 14/5/15
  4. vuvps

    vuvps Lính mới

    Tham gia ngày:
    11/5/15
    Bài viết:
    18
    Đã được thích:
    0
    Điểm thành tích:
    1
    Cách của bạn tonynguyen không dùng query post functions rồi. Tác giả đang hỏi query post mà, chắc là dùng một template nào đó cho phép sử dụng query post để get bài viết ra trang chủ.
     
  5. anh_fan

    anh_fan Lính mới

    Tham gia ngày:
    22/10/13
    Bài viết:
    27
    Đã được thích:
    0
    Điểm thành tích:
    1
    Cách này thì bạn có thể lấy 3 bài trong vòng 1 tháng trở lại, có thể không lấy được như ý là nếu 2 bài tháng 5 thì lấy thêm 1 bài tháng 4, nó chỉ tính 30 ngày gần đây.

    PHP:
    $args = array(
        
    'posts_per_page' => '3',
        
    'orderby' => 'rand',
        
    'date_query' => array(
            array(
                
    'column' => 'post_date_gmt',
                
    'after'  => '1 month ago'
            
    )
        )
    );
     
Đang tải...

Chia sẻ trang này