Appearance
SC-004 日別記事関連日ショートコード
概要
- 指定ホール・日付の「関連日結果」(過去の類似イベント日データ)と「日別結果カレンダー」を日別記事ページに埋め込み表示する。
- 関連日が存在しない場合はカレンダーのみを表示する。
hall・date属性は必須で、省略または不正値のときはValidationExceptionとなり、ユーザー向けにはバリデーションメッセージを表示する(詳細は「エラー・境界条件」)。
外部インターフェース
ショートコードタグ
- タグ名:
[CustomCode_CreateDailyArticleRelationalDay] - 入力例:
[CustomCode_CreateDailyArticleRelationalDay hall="アイランド秋葉原" date="20240101"]
属性一覧
| 属性 | 役割 | 必須 |
|---|---|---|
hall | 対象のホールを指定(HallEnum へ変換) | ○ |
date | 対象日を指定(\DateTime へ変換) | ○ |
エラー・境界条件
| 条件 | ユーザー向け挙動 | メッセージ / ログ |
|---|---|---|
hall 不正 / 未指定 | ValidationException を ShortCodeHelper が捕捉し、バリデーションメッセージを表示 | error_log:本番は識別1行のみ([ShortCodeHelper] ValidationException)。WP_DEBUG 時は識別行に加え、例外メッセージを制御文字除去・単一行化し、返却文字列全体が 200 文字以内(末尾 … を含む)で付加 |
date 不正 / 未指定 | 同上 | 同上 |
| 関連日データが 0 件 | 関連日セクションを出さずカレンダーのみ表示(想定内の分岐) | ログなし |
管理画面(is_admin())での実行 | AbstractShortCode::render() が先に空文字を返し、ショートコード本体は未実行 | ログなし |
処理中のその他 Throwable | 固定文言(エラーが発生しました:execute_if_not_admin) | error_log([ShortCodeHelper] {class}: {message} in {file} on line {line}) |
今後の更新で崩してはいけないところ(互換性契約)
公開契約(Breaking change 扱い)
- ショートコード名
CustomCode_CreateDailyArticleRelationalDayを変更しない- 理由: 過去投稿本文にショートコード文字列が直書きされているため
- 属性名
hall/date(省略時にValidationExceptionとなる挙動を含む)