init(); } /** * 初期化 */ private function init() { // wp_cron スケジュール設定(activate時に登録、毎ページロードでは実行しない) // ※ CRON負荷削減: 'wp'フックからの毎回実行を廃止(2026-03-17) // Lite版: スケジュール自動生成は持たず、管理画面から1本ずつ同期生成する add_action('wp_ajax_aagl_generate_now', array($this, 'ajax_generate_now')); // Ajax アクション add_action('wp_ajax_aagl_save_template', array($this, 'ajax_save_template')); add_action('wp_ajax_aagl_delete_template', array($this, 'ajax_delete_template')); add_action('wp_ajax_aagl_get_attachment_url', array($this, 'ajax_get_attachment_url')); // テンプレートシステムの初期化 $this->init_default_templates(); } /** * デフォルトテンプレートの初期化 */ private function init_default_templates() { $templates = $this->get_templates(); if (empty($templates)) { // SEO Optimized Article Templateのみを初期テンプレートとして作成 $seo_template = $this->get_seo_template_data(); $this->save_template($seo_template); } else { // 既存SEOテンプレートのプロンプト・設定を最新版に更新 $this->migrate_seo_template_if_needed($templates); } } /** * 既存SEOテンプレートのプロンプトと設定を最新版に更新 */ private function migrate_seo_template_if_needed($templates) { $migrated = get_option('aagl_seo_template_prompt_v2', false); if ($migrated) { return; } foreach ($templates as $template) { if (isset($template['name']) && strpos($template['name'], 'SEO') !== false) { $updated = $this->get_seo_template_data(); $updated['id'] = $template['id']; $this->save_template($updated); AAGL_Utilities::log('SEOテンプレートを最新版プロンプトに更新しました', 'info'); break; } } update_option('aagl_seo_template_prompt_v2', true); } /** * SEO改善版テンプレートデータ */ private function get_seo_template_data() { return array( 'name' => 'SEO Optimized Article Template', 'description' => 'SEO記事作成のための改善版プロンプトテンプレート', 'prompt_template' => $this->get_seo_prompt_template(), 'settings' => array( 'min_length' => 3000, 'max_length' => 8000, 'category_id' => 1, 'tags' => '', 'featured_image' => true, // コンテキスト設定(初期値は空白) 'company_name' => '', 'company_url' => '', 'exclude_domains' => '', 'target_persona' => '', 'content_tone' => '', 'industry' => '', // ライターペルソナ設定(初期値は空白) 'writer_name' => '', 'writer_background' => '', 'writer_expertise' => '', // AI感排除設定(初期値は空白) 'forbidden_expressions' => '', 'recommended_expressions' => '', ), 'active' => true, 'created_at' => current_time('mysql') ); } /** * SEO改善版プロンプトテンプレート本文 */ private function get_seo_prompt_template() { return <<<'PROMPT' # 改善版WordPress記事作成プロンプトテンプレート あなたは経験豊富なコンテンツライターです。以下の情報を基に、WordPress投稿ページに直接コピー&ペーストできるSEO最適化された記事を作成してください。 ## 【記事情報】 - タイトル: {{TITLE}} - メインキーワード: {{MAIN_KEYWORD}} - サブキーワード: {{SUB_KEYWORDS}} ## 【参考情報】 {{REFERENCE_SUMMARY}} 参考URL({{REFERENCE_COUNT}}件): {{REFERENCE_SOURCES}} ## 【作業手順】 1. **参考コンテンツ分析** - {{REFERENCE_SUMMARY}}から具体的なデータ、統計、事例を抽出 - 信頼性の高い情報源からの引用可能な内容を特定 2. **セクション構成の設計** - サブキーワード{{SUB_KEYWORDS}}に対応した4〜6つのセクションを作成 - 各セクションにメインキーワード{{MAIN_KEYWORD}}を1-2回自然に配置 - 見出しにキーワードを含める(自然な範囲で) 3. **各セクション本文作成**(500-800文字) - 必ずHTMLタグ(`

`, ``, `