Appearance
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_nonce | x_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 slug | x-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