def process_new_post(self, bulk_mode, api_post, posts, author, post_categories, post_tags, post_media_attachments):
        """
        Instantiate a new Post object using data from the WP API.
        Related fields -- author, categories, tags, and attachments should be processed in advance

        :param bulk_mode: If True, minimize db operations by bulk creating post objects
        :param api_post: the API data for the Post
        :param posts: the potentially growing list of Posts that we are processing in this run
        :param author: the Author object for this Post
        :param post_categories: the list of Category objects that should be linked to this Post
        :param post_tags: the list of Tags objects that should be linked to this Post
        :param post_media_attachments: the list of Media objects that should be attached to this Post
        :return: None
        """
        post = Post(site_id=self.site_id,
                    wp_id=api_post["ID"],
                    author=author,
                    post_date=api_post["date"],
                    modified=api_post["modified"],
                    title=api_post["title"],
                    url=api_post["URL"],
                    short_url=api_post["short_URL"],
                    content=api_post["content"],
                    excerpt=api_post["excerpt"],
                    slug=api_post["slug"],
                    guid=api_post["guid"],
                    status=api_post["status"],
                    sticky=api_post["sticky"],
                    password=api_post["password"],
                    parent=api_post["parent"],
                    post_type=api_post["type"],
                    likes_enabled=api_post["likes_enabled"],
                    sharing_enabled=api_post["sharing_enabled"],
                    like_count=api_post["like_count"],
                    global_ID=api_post["global_ID"],
                    featured_image=api_post["featured_image"],
                    format=api_post["format"],
                    menu_order=api_post["menu_order"],
                    metadata=api_post["metadata"],
                    post_thumbnail=api_post["post_thumbnail"])
        posts.append(post)

        # if we're not in bulk mode, go ahead and create the post in the db now
        # otherwise this happens after all API posts are processed
        if not bulk_mode:
            self.bulk_create_posts(posts, post_categories, post_tags, post_media_attachments)