docs: def load_posts(self, post_type=None, max_pages=200, status=None):
          """
          Load all WordPress posts of a given post_type from a site.
  
          :param post_type: post, page, attachment, or any custom post type set up in the WP API
          :param max_pages: kill counter to avoid infinite looping
          :param status: load posts with the given status,
              including any of: "publish", "private", "draft", "pending", "future", and "trash", or simply "any"
              Note: non public statuses require authentication
          :return: None
          """
          logger.info("loading posts with post_type=%s", post_type)
  
          # clear them all out so we don't get dupes
          if self.purge_first:
              Post.objects.filter(site_id=self.site_id, post_type=post_type).delete()
  
          path = "sites/{}/posts".format(self.site_id)
  
          # type allows us to pull information about pages, attachments, guest-authors, etc.
          # you know, posts that aren't posts... thank you WordPress!
          if not post_type:
              post_type = "post"
          if not status:
              status = "publish"
          params = {"number": self.batch_size, "type": post_type, "status": status}
          self.set_posts_param_modified_after(params, post_type, status)
  
          # get first page
          response = self.get(path, params)
  
          if not response.ok:
              logger.warning("Response NOT OK! status_code=%s\n%s", response.status_code, response.text)
  
          # process all posts in the response
          self.process_posts_response(response, path, params, max_pages)