Skip to content

ADM-036 X告知設定 ​

概要 ​

  • X告知担当 bot が告知文を作ったあと、X への投稿を bot が X API で行う(api)か 人間が行う(manual)かを、日別記事・有料記事ごとに設定する。
  • bot は投稿前に API-007-6 GET /x-announce/v1/settings でこの設定を読む。bot からは変更できない。
  • サイト運営ダッシュボード(ADM-019)配下のサブメニュー。変更できるのは manage_options を持つ管理者だけ。
  • 保存先は wp_options x_announce_posting_modes(XAnnouncementConstants::OPTION_POSTING_MODES。['daily_article' => 'api'|'manual', 'paid_article' => 'api'|'manual']、autoload)。未設定・不正値は manual。
  • X の API キーは bot 側のシークレットに置き、WordPress には保存しない。

ワイヤーフレーム ​

未作成。WordPress 標準の form-table に、記事の種類ごとのラジオボタン 2 組と [保存] ボタンを置く。

画面仕様 ​

ブロック一覧 ​

ブロックIDブロック名表示内容初期値ユーザー操作アクション
B-1説明画面の用途説明固定文言--
B-2日別記事の告知「API で自動投稿」「人間が投稿」のラジオ保存値(未設定は人間が投稿)選択-
B-3有料記事の告知「API で自動投稿」「人間が投稿」のラジオ保存値(未設定は人間が投稿)選択-
B-4保存補足(API キーは WordPress に保存しない)と [保存]常に表示ボタン押下A-1

B-2 は告知の種類 daily_pre / daily_after、B-3 は paid_update に対応する。

処理連携仕様 ​

アクション一覧 ​

A-1 ​

同じ画面への POST(load-{hook} で maybe_process_form())。manage_options と nonce(action x_announce_settings、field x_announce_settings_nonce)を確認し、XAnnounceSettingsRepositoryInterface::save_posting_modes() で保存する。対象外の投稿タイプは捨て、api / manual 以外の値は manual にする。

リクエスト

requestParam本画面の値
x_announce_settings_noncex_announce_settings の nonce
x_announce_posting_modes[daily_article]api / manual
x_announce_posting_modes[paid_article]api / manual

レスポンス

admin.php?page=x-announce-settings へリダイレクトし、xas_save(1 / 0)と xas_msg で通知を出す。

項目内容
成功時XAnnounceSettingsCopy::SAVED
失敗時XAnnounceSettingsCopy::SAVE_FAILED
nonce 不正Messages::AUTH_FAILED

外部インターフェース ​

管理画面 URL ​

項目値
URL/wp-admin/admin.php?page=x-announce-settings
page slugx-announce-settings
親メニューsite-ops-dashboard(ADM-019)

関連 ​

  • REST: API-007 X告知 REST(API-007-6 GET /settings)
  • 利用手順: X告知担当 MCP 利用手順
  • 実装: core_src/Admin/x_announce_settings/XAnnounceSettingsPage.php、core_src/Infrastructure/word_press/WordPressXAnnounceSettingsRepository.php
  • Issue #3890