2012-08-13 154 views
6

是否可以获取当前存在于wordpress数据库中的所有帖子ID的数组(不考虑post_types)? 另外,是否有可能获得特定post_type的所有帖子ID的数组?在Wordpress中获取所有帖子ID

如果可以,该如何实现?

回答

3

可能最好使用wordpress的DB对象运行自定义查询。 (从的functions.php或主题文件等):

   // 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>"); 

我想其实你可以得到还可与标准wp_query对象....但至少我的方式,你可以使在phpMyAdmin查询第一,然后调整语法/ wordpress前缀。 (阅读DB对象上的代码)。如果它是一次性使用phpmyadmin,但对于编程使用,则应将其转换为从您的functions.php文件运行。

6

你可以试试这个方法

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

无法正常工作,只能回到过去的5项, – zhilevan 2016-09-10 13:05:32

+0

您需要在$ args变量加入自订参数。我根据您的需要更新了答案。 PL。检查 – 2016-09-12 06:52:02

+0

昨天我找到了解决方案,tnx:D – zhilevan 2016-09-12 07:12:43

相关问题