2012-08-13 31 views
6

Có thể nhận được một mảng tất cả các ID bài đăng hiện có trong DB của wordpress (không phân biệt dạng post_types) không? Ngoài ra, có thể nhận được một mảng của tất cả các ID bài đăng của một post_type cụ thể không?Nhận tất cả các ID bài đăng trong Wordpress

Nếu có thể, làm thế nào để đạt được điều đó?

Trả lời

3

có lẽ tốt nhất để chạy truy vấn tùy chỉnh bằng cách sử dụng đối tượng DB của wordpress. (Từ functions.php hoặc một tập tin theme vv):

   // pseudo-code check how to refer to the field columns and table name! 
       global $wpdb; 

       $sql="SELECT id, title FROM posts"; 

       $posts = $wpdb->get_results($sql); 

       print("<ul>"); 
       foreach ($posts as $post) 
       { 
        print('<li>'.$post->FIELD1.'|'.$post->FIELD2.'<br/>'); 
        print('</li>'); 
       } 
       print("</ul>"); 

Tôi nghĩ rằng trong thực tế, bạn có thể nhận được rằng cũng với đối tượng wp_query tiêu chuẩn .... nhưng ít nhất cách của tôi bạn có thể làm cho các truy vấn trong phpmyadmin đầu tiên, sau đó điều chỉnh cho tiền tố cú pháp/wordpress. (đọc codex trên đối tượng DB). Nếu nó là một lần chỉ sử dụng phpmyadmin, nhưng để sử dụng có lập trình, bạn nên chuyển đổi nó để chạy từ tệp functions.php của bạn.

6

Bạn có thể thử cách này

$post_ids = get_posts(array(
     $args, //Your arguments 
     'posts_per_page'=> -1, 
     'fields'  => 'ids', // Only get post IDs 
    )); 
+0

không làm việc, chỉ trả lại 5 mục cuối cùng, – zhilevan

+0

Bạn cần phải thêm params tùy chỉnh trong biến $ args. Tôi đã cập nhật câu trả lời theo nhu cầu của bạn. Pl. kiểm tra –

+0

Tôi đã tìm thấy giải pháp ngày hôm qua, tnx: D – zhilevan

Các vấn đề liên quan