Output number of WordPress posts remaining until a post milestone is reached

We can get the total number of posts from the X-WP-Total response header from the /wp-json/wp/v2/posts/ endpoint, e.g. using fetch() in Javascript or apiFetch from @wordpress/api-fetch module in a custom block.

Since number of fetched posts doesn’t affect the X-WP-Total header, we can use posts_per_page as 1 and only get the post id field with _fields, to reduce the payload.

We might also create a dynamic block, including this kind of PHP:

$total = (new \WP_Query( array( 'posts_per_page' => 1 ) ) )->found_posts;

for the total posts part.

An older way was to use e.g. a custom shortcode [remaining] that outputs the
number of remaining posts:

add_shortcode( 'remaining', function( array|string $atts ) :string {
    $milestone = 1000; 
    $total     = (new \WP_Query( array( 'posts_per_page' => 1 ) ) )->found_posts;
    return sprintf( '%s', $total > $milestone? 0 : $milestone - $total );
} );

error code: 523