在Wordpress中获取所有帖子ID

时间:2012-08-13 15:40:45

标签: wordpress wordpress-plugin

是否可以获取wordpress DB中当前存在的所有帖子ID的数组(与post_types无关)? 此外,是否可以获取特定post_type的所有帖子ID的数组?

如果可以,如何实现?

2 个答案:

答案 0 :(得分:6)

你可以试试这种方式

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

答案 1 :(得分: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对象上的codex)。如果它只是一次性使用phpmyadmin,但是为了编程使用,你应该将它转换为从你的functions.php文件运行。