dak ブログ

python、rubyなどのプログラミング、MySQL、サーバーの設定などの備忘録。レゴの写真も。

TypeScript で WordPress に記事を登録・更新

2024-01-24 00:10:04 | Node.js
TypeScript で WordPress に記事を登録する方法のメモ。
Advanced Custom Fields(ACF)で作成したフィールドは fields でフィールドの値を指定します。

■登録
import WPAPI from 'wpapi';

async function create(article) {
  // オレオレ証明書を許可
  process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0';

  const wpapi = new WPAPI({
    endpoint: 'https://{ドメイン}/wordpress/wp-json',
    username: '{ユーザID}',
    password: 'uuuu vvvv wwww xxxx yyyy zzzz', // アプリケーションパスワード
  });

  const res = await wpapi.posts().create(article);
  return res;
}

(async () => {
  const article = {
    title: 'タイトル',
    fields: {
      main: '本文',
      ...
    },
  };
  const res = await create(article);
  console.log(res);
})();

レスポンス
{
  id: 1,
  ...
  status: '',
  type: 'post',
  ...
  title: {
    raw: 'タイトル',
    rendered: 'タイトル'
  },
  ...
  acf: {
    main: '本文',
    ...
  },
  ...
}

■更新
import WPAPI from 'wpapi';

async function update(id, article) {
  // オレオレ証明書を許可
  process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0';

  const wpapi = new WPAPI({
    endpoint: 'https://{ドメイン}/wordpress/wp-json',
    username: '{ユーザID}',
    password: 'uuuu vvvv wwww xxxx yyyy zzzz', // アプリケーションパスワード
  });

  const resCreate = await wpapi.posts().id(id).update(article);
  return resCreate;
}

(async () => {
  const article = {
    // status: draft / publish
    status: 'publish',
    title: '新タイトル',
    fields: {
      main_text: '新本文',
      ...
    },
  };
  const res = await update(1, article);
  console.log(res);
})();


この記事についてブログを書く
« TypeScript で WordPress API... | トップ | python で excel ファイルを生成 »

Node.js」カテゴリの最新記事