在Wordpress中获取所有帖子ID

Yas*_*G99 5 wordpress wordpress-plugin

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

如果可以的话,如何实现呢?

May*_*han 6

你可以试试这种方式

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


Luk*_*ker 3

可能最好使用 wordpress 的数据库对象运行自定义查询。(来自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>");
Run Code Online (Sandbox Code Playgroud)

我认为事实上你也可以使用标准的 wp_query 对象得到它......但至少我的方式你可以首先在 phpmyadmin 中进行查询,然后调整语法/wordpress 前缀。(阅读数据库对象的法典)。如果它是一次性的,只需使用 phpmyadmin,但对于编程使用,您应该将其转换为从您的functions.php 文件运行。