ドキュメント

開発者向けに、WP Notepad の保存形式・フック・REST API・オプションをまとめています。

保存先と保存キー

メモは閲覧者のブラウザの localStorage に保存されます。キーは設置形態ごとに次のとおりです。

設置形態保存キー
クラシックウィジェット{widget_id}-textarea
ショートコードid 属性の値(省略時は自動採番)
ブロックwpnotepad-block-{notepadKey}
タブ(2つ目以降){基本キー}-tab-{N}

保存形式

メモはタイムスタンプ付きの JSON エンベロープで保存されます(v2.0.0 以降)。旧バージョンが保存した素の文字列も透過的に読み込まれます。

{ "v": 1, "time": 1750000000000, "value": "メモの内容" }
  • time はエポックミリ秒。保存期限(TTL)の判定とデバイス間同期の競合解決(後勝ち)に使用します。
  • テキストエリアの data-ttl(日数)が設定されている場合、now - time が超過したメモは読み込み時に自動削除されます。

フィルター

フィルター説明
wpnotepad_widget_textareaウィジェットが出力するメモ帳のマークアップ全体(タブバー・テキストエリア・ツールバー・ステータス)を受け取り、加工できます
wpnotepad_widget_descriptionウィジェットの説明文(Description)の出力を加工できます
/**
 * ウィジェットのメモ帳マークアップを加工する例
 *
 * @param string $markup メモ帳のマークアップ全体。
 */
add_filter( 'wpnotepad_widget_textarea', function ( $markup ) {
	return '<div class="my-notepad-wrap">' . $markup . '</div>';
} );

REST API(デバイス間同期)

オプトインのデバイス間同期は、名前空間 wp-notepad/v1 の REST API を使用します。同期が有効かつログイン済みの場合のみ利用でき(Cookie 認証 + X-WP-Nonce ヘッダー)、それ以外は 401 / 403 を返します。

エンドポイントメソッド説明
/wp-json/wp-notepad/v1/notesGETログインユーザーの全メモを取得
/wp-json/wp-notepad/v1/notesPOSTメモを保存(key / value 必須、time 任意)
/wp-json/wp-notepad/v1/notes/{key}DELETE指定キーのメモを削除
  • サーバー側の保存先はユーザーメタ rwc_wpnotepad_notes です。
  • フロントは window.wpNotepad(同期有効時のみ restUrl / nonce を含む)を参照し、タイムスタンプ比較の後勝ちで同期します。

オプション

オプション名説明
rwc_wpnotepad_sync_enabled1 / 0デバイス間同期の有効・無効(既定: 無効)。「設定 → WP Notepad」で切り替え

アンインストール

閲覧者のメモはブラウザ側(LocalStorage)にあるため、プラグインを削除してもサイト側から消えることはありません。サーバー側のデータ(オプション rwc_wpnotepad_sync_enabled と、同期を利用していた場合のユーザーメタ rwc_wpnotepad_notes)は現バージョンでは削除処理を行わないため、完全に除去する場合は手動で削除してください。

ソースコード

タイトルとURLをコピーしました