📚

strapiで予約投稿をする方法

2022/01/30に公開

config/functions/cron.js にアクセス

https://docs-v3.strapi.io/developer-docs/latest/guides/scheduled-publication.html#create-a-cron-task
公式から以下をコピペ

module.exports = {
  '*/1 * * * *': async () => {
    // fetch articles to publish
    const draftArticleToPublish = await strapi.api.article.services.article.find({
      _publicationState: 'preview', // preview returns both draft and published entries
      published_at_null: true,      // so we add another condition here to filter entries that have not been published
      publish_at_lt: new Date(),
    });

    // update published_at of articles
    await Promise.all(draftArticleToPublish.map(article => {
      return strapi.api.article.services.article.update(
        { id: article.id },
        { published_at: new Date() }
      );
    }));
  },
};

コレクションタイプのコレクションにpublish_atをDateTimeで作る

記事の作成画面で、publish_atを指定すれば自動投稿できる。
※動作テストの際、時差があることがわからず数時間詰まった。
ターミナルに書いてある時間を参考にして動作テストを行った方が良い

Discussion