如何在wordpress中获取所有帖子ID

Yus*_*sef 4 php wordpress

我想在wordpress中发布所有已发布的帖子,我试过了

<div class="pppp" style="display:none">
<?php $post_ids = get_posts(array(
    'fields'        => 'ids', // Only get post IDs
));
var_dump($post_ids);
?>
</div>
Run Code Online (Sandbox Code Playgroud)

但只返回5个最后发布的ID.

 array(5) {   [0]=>   int(35102)   [1]=>   int(35097)   [2]=>   int(35094)   [3]=>   int(33281)   [4]=>   int(33279) } 
Run Code Online (Sandbox Code Playgroud)

我想知道如何获得我的wordpress网站的所有postids?

hak*_*iko 12

参考:https://developer.wordpress.org/reference/functions/get_posts/#source

function get_posts( $args = null ) {
    $defaults = array(
        'numberposts' => 5,
        'category' => 0, 
        'orderby' => 'date',
        'order' => 'DESC', 
        'include' => array(),
        'exclude' => array(),
        'meta_key' => '',
        'meta_value' =>'',
        'post_type' => 'post',
        'suppress_filters' => true
    );
....
}
Run Code Online (Sandbox Code Playgroud)

所以你应该在你的数组中添加一些内容

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

注意:' numberposts'和' posts_per_page'可以互换使用.