今回の出力設定であらましシリーズは最後とします。詳細は区分して紹介する予定です。ほかの開発を先に進めたいですしね。前回の出力構成などは紹介にとどまりましたが、今回は具体的なインストレーションの最初の一歩になります。(「あさま」開発サイトはこちらです。)
子テーマの’function.php’に用意された設定項目
#WordPress の子テーマ「 #あさまっこ 」を有効化すると、子テーマから親テーマ「 #あさま 」の基本設定が行われます。
メインオブジェクト’HSTL’(HustleClass.php)が’RegistrationClass’オブジェクトの初期化関数’init()’を参照した際に子テーマの’function.php’にて関数’hustle_config()’の有無を確認します。関数が存在すれば参照を取って返してメインオブジェクトにある関数を介して子テーマのために基本設定を行います。
もちろん、コーディングを行えれば’HSTL’に基本設定項目を加えることができます。
つぎは、子テーマの’function.php’の記述で、基本設定は #PHP ソース内のコメントの通りです。
<?php
/**
* @package asamito
*/
//--------------------------------------------------------------------------------
// studio hustlemouse
// PHP Code 'functions.php'
// Create : 2021.11.30
// Modify : 2022.9.25
// Author : maruhiro
// (c)maruhiro all rights reserved.
//--------------------------------------------------------------------------------
// ASAMITO CONFIGURATION
//--------------------------------------------------------------------------------
//子テーマは先に読み込まれるので親テーマに関する設定を記述して、親テーマが読み込まれた際に本関数が呼び出される。
function hustle_config(object $obj) {
$obj->echo('I_AM_ASAMITO_>');
/*******************************
あさまテーマを運用して投稿を開始した日の値('Y-m-d H:i:s')にて登録する。
各投稿ディビジョンのrole属性値が、開始日以前であれば'column-former'以後であれば'column-asama'となる。
*******************************/
$obj->setAtTheThenePostDate('2022-10-24 19:28:00');
/*******************************
あさまテーマの独自タグクラウドを利用するかしないかの真偽値にて登録する。
*******************************/
$obj->setHustleTagCloud(true);
/*******************************
Googleマップ利用に必要となる'KEY'と'ID'の連想配列にて登録する(変更不可変数名=>値)
*******************************/
$obj->setGoogleParams(array(
'KEY' => 'XXXXXXXXXXXXXXXX_XXXXXXXX-XXXX',
'ID' => 'XXXXXXXXXXXXXXXX',
));
/*******************************
サイトで利用するWebフォントを連想配列にて登録する。(任意変数名=>URLとパラメータ)
*******************************/
$obj->orderchildFonts(array(
'google_MaterialIcons'=>'https://fonts.googleapis.com/icon?family=Material+Icons',
'google_SourceCodePro'=>'https://fonts.googleapis.com/css2?family=Source+Code+Pro:ital,wght@0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap',
'google_NotoSans'=>'https://fonts.googleapis.com/css2?family=Noto+Sans:ital,wght@0,400;0,700;1,400;1,700&display=swap',
'google_NotoSansJP'=>'https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap',
'google_Quicksand'=>'https://fonts.googleapis.com/css2?family=Quicksand:wght@300;400;500;600;700&display=swap',
'google_KiwiMaru'=>'https://fonts.googleapis.com/css2?family=Kiwi+Maru:wght@300;400;500&display=swap',
));
/*******************************
サイトで利用するCSSファイルを連想配列にて登録する。(任意変数名=>テーマルートパス)
注意)確実な動作のため、フォント→アニメーション→デザインの順番で読み込まれるように列記する。
*******************************/
$obj->orderEnqueueChildStyles(array(
//確実な動作のため、フォント→アニメーション→デザインの順番で読み込まれるように列記する。
'asamito-font'=>'/css/font.css',
'asamito-animation'=>'/css/asamito_anim.css',
'asamito-design'=>'/css/asamito.css',
));
/*******************************
著作権情報を登録する。内容はパラグラフタグ内に出力される。
表示をしない場合は「$obj->setTheCopyright('');」と明確に空を渡さないと親テーマの著作権情報が表示される。
*******************************/
$obj->setTheCopyright('COPY RIGHT');
/*******************************
緊急情報など一時的な情報を掲載するページの特別エレメントに掲示する情報を登録する。
$obj->setThePageSpecial()のメソッド参照でメインオブジェクト(HustleClass)にソースが格納される。
メインオブジェクトに変数(pageSpecial)が生成されれば、include/parts/page-special.phpにて以下の
エレメントが出力される。格納ソースは<?php echo $HSTL->pageSpecial; ?>によって実装が行われる。
<aside class='special' name='PageSpecial' role='<?php echo "special".$MD; ?>'>
<article class='content' role='PageSpecial'>
<?php echo $HSTL->pageSpecial; ?>
</article>
</aside>
*******************************/
$obj->setThePageSpecial('<p class="message"><span class="attention">THE PAGE SPECIAL!</span></p>');
}
確認まで、今回の’function.php’は子テーマのディレクトリ内にあるものです。親テーマの’function.php’は開発構成で紹介したように三行のソースコードで固定することを守りたいと希望します。そかさ。