// 画面を作成
$pageData = $this->_createPage($request, $curTemplateId, $subTemplateId);
- // 使用した非共通ウィジェットの数をチェック
+ // ##### 非共通ウィジェットがページ上になくてもエラーとしない #####
+ $this->gCache->setPageCache($request, $pageData); // キャッシュデータを設定
+ echo $pageData;
+
+/* // 使用した非共通ウィジェットの数をチェック
$nonSharedWidgetCount = $this->gPage->getNonSharedWidgetCount();
if ($nonSharedWidgetCount == -1){ // カウントなしの場合
$this->gCache->setPageCache($request, $pageData); // キャッシュデータを設定
// アクセス不可ページへ遷移
$this->gPage->redirect('?' . M3_REQUEST_PARAM_PAGE_SUB_ID . '=_accessdeny');
- // システム制御モードに変更
- //$this->gPage->setSystemHandleMode(11/*アクセス不可*/);
-
- // システム制御画面を表示
- //$this->_showSystemPage($request, 0/*アクセス不可画面*/);
}
- }
+ }*/
} else {
echo $cacheData;
}
require_once($this->gEnv->getWordpressRootPath() . '/wp-includes/functions.php');
require_once($this->gEnv->getWordpressRootPath() . '/wp-includes/default-filters.php');
require_once($this->gEnv->getWordpressRootPath() . '/wp-includes/l10n.php');
+ require_once($this->gEnv->getWordpressRootPath() . '/wp-includes/class-wp-error.php');
require_once($this->gEnv->getWordpressRootPath() . '/wp-includes/class-wp.php');
require_once($this->gEnv->getWordpressRootPath() . '/wp-includes/class-wp-locale.php');
require_once($this->gEnv->getWordpressRootPath() . '/wp-includes/class-wp-user.php');
// require_once($this->gEnv->getWordpressRootPath() . '/wp-includes/class-wp-dependency.php');
require_once($this->gEnv->getWordpressRootPath() . '/wp-includes/class-wp-post.php'); // コンテンツAPIマネージャーからWP_Post型でデータを取得
require_once($this->gEnv->getWordpressRootPath() . '/wp-includes/class-wp-post-type.php');
+ require_once($this->gEnv->getWordpressRootPath() . '/wp-includes/class-wp-embed.php');
require_once($this->gEnv->getWordpressRootPath() . '/wp-includes/query.php');
require_once($this->gEnv->getWordpressRootPath() . '/wp-includes/pluggable.php');
// ##### データ初期化 #####
wp_initial_constants(); // WordPressその他定義値設定
+ wp_cookie_constants(); // クッキー用定義
create_initial_post_types(); // WP_Post型データ型登録
+ register_shutdown_function('shutdown_action_hook'); // 終了時イベント登録
// プラグイン初期化
$GLOBALS['wp_plugin_paths'] = array(); // $wp_plugin_pathsは未使用?
// WordPressメインオブジェクト作成
$GLOBALS['wp_version'] = '4.7.0'; // 下位互換性チェックで引っかかるのでv4.7.0に定める
$GLOBALS['locale'] = $this->gEnv->getCurrentLanguage(); // 表示言語を設定
+ $GLOBALS['wp_embed'] = new WP_Embed();
$GLOBALS['wp_the_query'] = new WP_Query(); // $wp_the_queryは変更不可変数で$wp_queryは変更可変数
$GLOBALS['wp_query'] = $GLOBALS['wp_the_query'];
$GLOBALS['wp'] = new WP();
$GLOBALS['wp_widget_factory'] = new WP_Widget_Factory();
$GLOBALS['gContentApi'] = new contentApi(); // Magic3コンテンツAPIオブジェクト
$GLOBALS['gMenuApi'] = new menuApi(); // Magic3メニュー情報APIオブジェクト
+ $GLOBALS['m3WpOptions'] = array(); // 定義値初期化
// テンプレートから参照可能にする
global $wp_query;
- // ページに配置されているウィジェットの状況からWordPress以外の主コンテンツ用のプラグインをロード
+ // ページに配置されているウィジェットの状況からWordPress以外の主コンテンツ用のプラグイン(WooCommerce等)をロード
+ // setup_themeイベント処理を設定
$GLOBALS['gContentApi']->loadPlugin();
-
+
// テンプレート初期処理
do_action('setup_theme');
load_default_textdomain(); // 言語リソースを読み込む
m3WpInit(); // 言語リソース読み込み後にMagic3用インターフェイス初期化。$GLOBALS['m3WpOptions']を初期化し、get_option()はここから使用可能にする。
$GLOBALS['wp_locale'] = new WP_Locale(); // 言語リソース読み込み後に生成
-
+
// functions.phpを読み込む。ファイル内で定義されている変数はグローバル変数に変換する。
$this->_loadFileAsGlobal(TEMPLATEPATH . '/functions.php');
return; // ここで終了
}
}
+// } else {
+// // 検索キーワードが設定されている場合は画面タイトルを設定
+// $value = $request->trimValueOf(M3_REQUEST_PARAM_KEYWORD);
+// if (!empty($value)){
+// }
+ }
+
+ // ##### デフォルトのページタイトルを設定 #####
+ $pageInfo = $this->gPage->getCurrentPageInfo();
+ if (!empty($pageInfo)){
+ $pageTitle = $pageInfo['pg_name'];
+ if (!empty($pageTitle)) $GLOBALS['gContentApi']->setPostTitle($pageTitle);
}
// コンテンツタイプが設定されていないページ(お問合わせページ等)に場合は、固定ページ用のテンプレートを使用
}
// オプションのテンプレートがある場合はオプションを優先
- $optionTemplate = $this->gPage->getOptionTemplateId();
+ list($optionTemplate, $optionSubTemplate) = $this->gPage->getOptionTemplateId();
if (!empty($optionTemplate)){
$curTemplate = $optionTemplate;
+ $subTemplateId = $optionSubTemplate;
$templateDefined = true; // テンプレート固定かどうか
}