Appearance
DailyArticleTemplate - パラメータ仕様
関数シグネチャ
php
function generate_daily_article_template(
$date,
$halls,
?string $manual_content = null,
?string $kishu = null
): stringパラメータ一覧
| パラメータ | 型 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|
$date | string|DateTime|null | 必須 | null | 対象日付(YYYY-MM-DD形式、YYYYMMDD形式、またはDateTimeオブジェクト) |
$halls | string|array|null | 必須 | null | ホール名(カンマ区切り文字列、配列、またはnull)。配列の場合は自動的に文字列へ変換されます |
$manual_content | string|null | 任意 | null | 手動入力部分のコンテンツ(HTML、WordPressブロック形式、ショートコードを含む) |
$kishu | string|null | 任意 | null | 機種名(kishudataショートコード用) |
パラメータ詳細
$date - 日付
型: string|DateTime|null
必須: はい
説明: 対象日付を指定します。
対応形式:
YYYY-MM-DD形式(例:"2024-11-01")YYYYMMDD形式(例:"20241101")DateTimeオブジェクト
使用例:
php
$date = "2024-11-01";
$date = "20241101";
$date = new DateTime('2024-11-01');バリデーション:
- 日付として有効な値である必要があります
- 空文字列やnullの場合は
ValidationExceptionがスローされます
$halls - ホール名
型: string|array|null
必須: はい
説明: 対象ホールを指定します。複数ホールを指定する場合は、カンマ区切り文字列または配列で指定できます。
対応形式:
- カンマ区切り文字列(例:
"アイランド秋葉原,エスパス秋葉原") - 配列(例:
["アイランド秋葉原", "エスパス秋葉原"]) - 単一ホール(例:
"アイランド秋葉原")
対応ホール:
- アイランド秋葉原
- エスパス秋葉原
- ビッグアップル秋葉原
- 秋葉原uno
使用例:
php
$halls = "アイランド秋葉原";
$halls = "アイランド秋葉原,エスパス秋葉原";
$halls = ["アイランド秋葉原", "エスパス秋葉原"];処理:
- 配列の場合は自動的にカンマ区切り文字列に変換されます
- カンマが連続している場合(例:
"island,,espasu")や、末尾にカンマがある場合(例:"island,espasu,")は、空の要素が自動的に除去されます
バリデーション:
- 対応ホール名である必要があります
- 空文字列やnullの場合は
ValidationExceptionがスローされます - 無効なホール名が含まれている場合も
ValidationExceptionがスローされます
$manual_content - 手動入力部分
型: string|null
必須: いいえ
デフォルト: null
説明: 手動入力部分のコンテンツを指定します。HTML、WordPressブロック形式、ショートコードを含むコンテンツを入力可能です。
使用例:
php
$manual_content = "<p>今日の考察内容</p>";
$manual_content = "<!-- wp:paragraph --><p>手動入力部分</p><!-- /wp:paragraph -->";
$manual_content = "<p>手動入力部分</p><!-- wp:shortcode -->[SomeOtherShortcode]<!-- /wp:shortcode -->";処理:
- 各ホールごとに出力されます
- ショートコードが含まれている場合は、
do_shortcode()で実行されます - XSS対策として、
wp_kses_post()でサニタイゼーション処理が行われます - 空文字列の場合は
nullとして扱われます
注意事項:
- 信頼できるHTMLタグのみが許可されます(
wp_kses_post()による制限) - 管理者のみが使用する想定のため、セキュリティリスクは限定的です
$kishu - 機種名
型: string|null
必須: いいえ
デフォルト: null
説明: 機種名を指定します。kishudataショートコード用のパラメータです。
使用例:
php
$kishu = "犬夜叉";
$kishu = "犬夜叉'_'まどか叛逆"; // 複数機種指定の場合処理:
kishuが指定されている場合、各ホールごとに[kishudata]ショートコードが生成されます- 空文字列の場合は
nullとして扱われます
戻り値
型: string
説明: 生成されたショートコード文字列を返します。
形式: WordPressブロックエディタ形式(<!-- wp:shortcode -->)で出力されます。
エラー時:
- バリデーションエラー:
WP_DEBUGが有効な場合のみエラーメッセージが表示されます - 予期しないエラー:
error_log()でログに記録され、WP_DEBUGが有効な場合のみエラーメッセージが表示されます - エラー時は空文字が返されます(デバッグモードでない場合)
バリデーション処理
日付のバリデーション
CommonValidationUtil::validate_and_convert_date()を使用- 日付として有効な値である必要があります
- 無効な場合は
ValidationExceptionがスローされます
ホール名のバリデーション
CommonValidationUtil::validate_and_convert_hall()を使用- 対応ホール名である必要があります
- 無効な場合は
ValidationExceptionがスローされます
手動入力部分のサニタイゼーション
wp_kses_post()を使用してXSS対策を実施- 信頼できるHTMLタグのみが許可されます
エラー時の挙動
ValidationException
バリデーションエラーが発生した場合:
php
// WP_DEBUGが有効な場合
return '<!-- DailyArticleTemplate Validation Error: {エラーメッセージ} -->';
// WP_DEBUGが無効な場合
return '';その他のException
予期しないエラーが発生した場合:
php
// エラーログに記録
error_log('DailyArticleTemplate Error: {エラーメッセージ}');
// WP_DEBUGが有効な場合
return '<!-- DailyArticleTemplate Error: {エラーメッセージ} -->';
// WP_DEBUGが無効な場合
return '';使用例
基本的な使用
php
$date = "2024-11-01";
$halls = "アイランド秋葉原";
echo generate_daily_article_template($date, $halls);すべてのパラメータを使用
php
$date = "2024-11-01";
$halls = "アイランド秋葉原,エスパス秋葉原";
$manual_content = "<p>手動入力部分</p>";
$kishu = "犬夜叉";
echo generate_daily_article_template($date, $halls, $manual_content, $kishu);参考資料
- README.md - 概要と使用方法
- examples.md - 使用例
最終更新
- 更新日: 2025-11-28
- バージョン: 1.0