「あさま」のまさか(その4)で「あさまテーマに必要なパラメータ群を連想配列にて登録する」といった追加をしました。そのときは、一覧表示での抜粋文字数の指定だけでした。
ほかに機能追加するようなこともなかろうと思っていたのですが、早々にもう一案件に思い至ってしまいました。
それで、これを機会に多くの設定をその「連想配列にて登録する」にまとめてしまうことにいたしました。ああ、もちろん下位互換は保ってあります。(変数名を変更したりしなければ、多分、大丈夫。)
Javascriptの調整もあったので、あさま親子丼のバージョンを思い切って「ver. 0.3.3」まで引き上げました。
あさま開発サイトのダウンロードページに掲載し、公開してあります。(もしものため、しばらくは「ver. 0.3.14」のリンクを残しておきます。)
すでに利用されている場合は、ダンロード&解凍して現れたasamaフォルダをそのままサイト内の親テーマ「あさま」(asamaディレクトリ)と差し替えてください。
軽易で実害はありませんがバグも発見しましたので推奨いたします。(以前のasamaディレクトリのバックアップをとった上で作業しましょう。)
現在、利用されている子テーマ「あっさまこ」については、とりま、そのままでも大丈夫だと思います。
追加された機能を利用する場合は、子テーマ「あっさまこ」(asamitoディレクトリ)内のfunction.phpの記述を変更する必要があります。
Javascriptソースの上書き
その前に一つお願いがあります。「とりま、大丈夫」と言っておきながら…、ごめんなさい。
利用しているJavascriptソースにあった細かいバグを取ったり表記を整理したりしました。以前のままでも実害はないはずですが、誰かに気が付かれると恥ずかしいので、こだわりの刷新となりました。
大変に申し訳ないのですが、いや後生ですから!asamitoディレクトリ内にあるjsディレクトリを新しいasamito内のjsフォルダに上書きしてください。
「お代官さまあー、おねげーしますだ。」って気持ちです。(これ、45年ぐらい前に大学生の間で流行っていました。)
(上書き操作のための間。)
新しいfunction.php
さて、ここまで済みましたら「あさまっこ」の新しいfunction.phpをテキストエディタで開いてみてください。
本投稿を読み進めてから作業の可否を判断いただいて大丈夫です。必要であればfunction.phpの変更をすすめて、asamitoディレクトリ内の古いfunction.phpに上書きして終了です。
調整方法は、新旧ファイルを開いて、古いものから新しいfunction.phpへコピペで引越しが良さそうに思いますが、お好みで進めてください。
後々のアップグレード(本当はしたくない。)を鑑みて、ほとんど移動するだけのうちに変更作業をしておいた方が良いと考えます。(推奨します。)
過去のfunction.phpに関係する投稿は次になります。参考になれば幸いです。
実のところ、function.php内の記述が画期的に洗練されているわけでもなく、大変に恐縮です。お手間をおかけして誠に申し訳ありません。
それではfunction.phpの内容と引越しの説明をいたします。
「あさま」のあからさま(function.php)にもある通り、function.phpの記述実体はつぎのhustle_config()メソッド(関数)の一つだけになります。
<?php
(中略)
//子テーマは先に読み込まれるので親テーマに関する設定を記述して、親テーマが読み込まれた際に本関数が呼び出される。
function hustle_config(object $obj) {
(中略)
}
フロントページ名
メソット内の最初の項目です。これが今回の新設、そして変更の発端です。
いままでのバージョンではメインメニューにあるフロントページへのリンク名は「Home」で固定となってました。なのにパンくずリストではPHPで__(Home)として日本語環境では「ホーム」になるように作られており、統一されてませんでした。
新しいサイトを起こすことになって、ようやっと気がつき「こりゃ手抜かりだろ?」となりました。
以前のfunction.phpに機能を加えてみたのですが、メインメニューはともかく、別のメソッドで実装準備するパンくずリストに関係もつけなくてはならず。「こりゃさらに格好悪いだろう。」となり、記述の構成をいじることとなりました。
(フロントページ名の統一に興味がなければ、現況、function.phpを変更する必要はありません。)
というわけで、hustle_config()メソッド冒頭で、変数$FNにフロントページの名前を代入して後述にて利用します。
/*******************************
フロントページ名前を指定、メインメニューとパンくずリストで利用する。
*******************************/
$FN = 'Home';
何かしらの文字列を入れれば、メインメニューとパンくずリストのフロントページ名として利用されます。確認まで$FNはfunction.phpだけで参照されています。
コメントアウトしたり「$FN = ”」とすると、あさま内で__(Home)と扱われ日本語環境では「ホーム」と表示されます。
つぎに「あさま」のまさか(その4)から追加したsetAsamaParams()メソッドです。
これを利用して、あさま本体に連想配列を投げ込み、キーワードを変数として、子テーマ「あさまっこ」を指定します。キーワードはあさま本体内で参照されますので、変更しないでください。
まさか(その4)では’EXCERPT_NUMBER’パラメータだけでしたが、過去のfunction.phpで個別メソッドを参照&登録していた項目を、可能な限り、この中に引っ越ししてきました。
/*******************************
あさまテーマに必要なパラメータ群を連想配列にて登録する(変更不可変数名=>値)
*******************************/
$obj->setAsamaParams(array(
(中略)
));
このメソッド記述の下には「カスタム投稿タイプ」の登録メソッド群がありますが、それはそのままです。(いまのところ。)
では、引越しの作業開始です。
setAsamaParams()メソッド内へ移動したパラメータ群を、あさまっこの新しいfunction.phpに記述してある順に紹介してまいります。
以前のfunction.phpから個々に移動して来ることになりますが、順番が前後してますのでご注意ください。また、以前のメソッドを記述しても問題なく動作しますが、わざわざ上書きしてしまいます。メソッドごとコピペして来る場合はコメントアウトしておいて、正常な動作を確認できたら削除してしまうことをお勧めします。
あさまっこ以前以後
最初はあさまテーマの運用開始日の指定です。以前はsetAtTheThenePostDate()メソッド参照で登録してました。
今回からは’START_DATE’というキーワード(変数名)に日付文字列を代入します。
引越しは、メソッドのパラメータをコピーしてきて新キーワードへの代入にペーストしてください。登録内容に変更はありません。「あさま」のあからさま(function.php)の「あさまっこ以前以後」欄を参考にしてください。
/*******************************
あさまテーマを運用して投稿を開始した日の値('Y-m-d H:i:s')にて登録する。
各投稿ディビジョンのrole属性値が、開始日以前であれば'column-former'以後であれば'column-asama'となる。
*******************************/
'START_DATE'=>'2022-10-24 19:28:00',
Webフォント
つぎに、サイトで利用するWebフォントのリストです。以前はorderchildFonts()メソッドで登録してました。
以前は連想配列をつかってキーワード(変数名)を記述してありました。Wordpressシステムにユニークな名前を使って登録しなくてはならないので、そうしていました。
今回、利用者の手間を省くため、あさま内部でユニークキーワードを作る仕様に変更しました。
‘CHILD_FONTS’というキーワードにWebフォントのURLをリストした配列を代入します。
引越しは、メソッドのパラメータの連想配列のキーワードに代入していたURLをコピーしてきて新キーワードへの配列代入にペーストしてください。登録内容に変更はありません。「あさま」のあからさま(function.php)の「Webフォント」欄を参考にしてください。
/*******************************
サイトで利用するWebフォントを配列にて登録する。(URLとパラメータ)
*******************************/
'CHILD_FONTS'=>array(
'https://fonts.googleapis.com/icon?family=Material+Icons',
'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',
'https://fonts.googleapis.com/css2?family=Noto+Sans:ital,wght@0,400;0,700;1,400;1,700&display=swap',
'https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap',
'https://fonts.googleapis.com/css2?family=Quicksand:wght@300;400;500;600;700&display=swap',
'https://fonts.googleapis.com/css2?family=Kiwi+Maru:wght@300;400;500&display=swap',
),
CSSの読み込み
同じく、あさま内部でユニークキーワードを作る仕様に変更した利用CSSのリストです。以前はorderEnqueueChildStyles()メソッド参照で登録してました。
‘CHILDE_STYLE’というキーワードにCSSへの相対パスをリストした配列を代入します。
引越しは、メソッドのパラメータの連想配列のキーワードに代入していたパスをコピーしてきて新キーワードへの配列代入にペーストしてください。登録内容に変更はありません。「あさま」のあからさま(function.php)の「CSSの読み込み」欄を参考にしてください。
/*******************************
サイトで利用するCSSファイルを配列にて登録する。(テーマルートパス)
注意)確実な動作のため、フォント→アニメーション→デザインの順番で読み込まれるように列記する。
*******************************/
'CHILDE_STYLE'=>array(
//確実な動作のため、フォント→アニメーション→デザインの順番で読み込まれるように列記する。
'/css/font.css',
'/css/asamito_anim.css',
'/css/asamito.css',
),
著作権情報
著作権情報の登録です。以前はsetTheCopyright()メソッド参照で登録してました。
今回からは’COPYRIGHT’というキーワード(変数名)に著作権情報文字列を代入します。
引越しは、メソッドのパラメータをコピーしてきて新キーワードへの代入にペーストしてください。登録内容に変更はありません。「あさま」のあからさま(function.php)の「著作権情報」欄を参考にしてください。
/*******************************
著作権情報を登録する。内容はパラグラフタグ内に出力される。
メインオブジェクト(HustleClass)に変数(COPYRIGHT)が生成され、ソースが格納される。
変数(COPYRIGHT)が生成されていれば、include/parts/page-special.phpにて以下のエレメントが出力される。
格納されたソースは<?php echo $HSTL->COPYRIGHT; ?>によって実装される。
<article class='content' name='copyright' role='copyright'>
<p><?php echo $HSTL->COPYRIGHT; ?></p>
</article>
表示をしない場合はコードをコメント化するか、「'COPYRIGHT'=>''」と空を渡します。
*******************************/
'COPYRIGHT'=>'COPY RIGHT',
特別エレメント
特別エレメントに掲示する情報の登録です。以前はsetThePageSpecial()メソッド参照で登録してました。
今回からは’PAGE_SPECIAL’というキーワード(変数名)に一時的な情報の文字列を代入します。
引越しは、メソッドのパラメータをコピーしてきて新キーワードへの代入にペーストしてください。登録内容に変更はありません。「あさま」のあからさま(function.php)の「特別エレメント」欄を参考にしてください。
/*******************************
緊急情報など一時的な情報を掲載するページの特別エレメントに掲示する情報を登録する。
メインオブジェクト(HustleClass)に変数(PAGE_SPECIAL)が生成され、ソースが格納される。
変数(PAGE_SPECIAL)が生成されていれば、include/parts/page-special.phpにて以下のエレメントが出力される。
格納されたソースは<?php echo $HSTL->PAGE_SPECIAL; ?>によって実装される。
<aside class='special' name='PageSpecial' role='<?php echo "special".$MD; ?>'>
<article class='content' role='PageSpecial'>
<?php echo $HSTL->PAGE_SPECIAL; ?>
</article>
</aside>
表示をしない場合はコードをコメント化するか、「'PAGE_SPECIAL'=>''」と空を渡します。
*******************************/
'PAGE_SPECIAL'=>'<p class="message"><span class="attention">THE PAGE SPECIAL!</span></p>',
メインメニューのフロントページ名
メインメニューに表示されるフロントページへのリンク名の指定です。hustle_config()メソッド冒頭の変数$FNに代入した文字列が利用されます。引越しの作業はありません。
‘FRONTPAGE_NAME’というキーワード(変数名)に文字列を代入してます。
/*******************************
フロントページの名前(文字列)
定数FRONTPAGE_NAMEが定義されていなければ、パラメータが渡らずに初期値が利用される。
*******************************/
'FRONTPAGE_NAME'=>isset($FN)?$FN:'',
パン屑リスト
あさま独自パンくずリストのショートコードを登録します。以前はsetHustleCrumb()メソッド参照で登録してました。
今回からは’HUSTLE_CRUMB’というキーワード(変数名)にショートコードを代入します。hustle_config()メソッド冒頭の変数$FNに代入した文字列を利用してメインメニューのフロントページ名と表示が統一されるようになっています。
あさま独自パンくずリストを利用しているのであれば、引越しの作業はありません。そのままにしておいてください。
パラメータをhome=”任意のページ名”にすることも可能です。「あさま」のあからさま(ショートコードその3)の「パン屑リスト」欄を参考にしてください。
/*******************************
ショートコードをパラメータとして、あさまテーマの独自パンくずリストの利用を登録する。
シートコード内のパラメータについてはファイル「include/shortcode/BreadCrumb.php」内に説明がある。
定数FRONTPAGE_NAMEが定義されていなければ、ショートコードのhome=""パラメータが渡らずに初期値が利用される。
コメントアウトもしくはパラメータを「'HUSTLE_CRUMB'=>''」と空にすると'Yoast SEO'プラグインのパンくずリストが利用できる。'Yoast SEO'が有効化されていなければヘッダーメニュー領域として運用できる。
ショートコードを差し替えることもできる。
*******************************/
'HUSTLE_CRUMB'=>'[hustleShort file="include/shortcode/BreadCrumb" name="husteCrumb" mode="category"'.(isset($FN)?(strlen($FN)>0?' home="'.$FN.'"':''):'').']',
タグクラウド
あさま独自タグクラウドのショートコードを登録します。以前はsetHustleTagCloud()メソッド参照で登録してました。
今回からは’HUSTLE_TAGCLOUD’というキーワード(変数名)にショートコードを代入します。
あさま独自タグクラウドを利用していて、パラメータの変更をしていなければ、引越しの作業はありません。登録内容に変更はありません。「あさま」のあからさま(function.php)ではなく、「あさま」のあからさま(ショートコードその3)の「タグクラウド」欄を参考にしてください。
/*******************************
ショートコードをパラメータとして、あさまテーマの独自タグクラウドの利用を登録する。
シートコード内のパラメータについてはファイル「include/shortcode/TagCloud.php」内に説明がある。
ショートコードを差し替えることもできる。
表示をしない場合はコードをコメント化するか、「'HUSTLE_TAGCLOUD'=>''」と空を渡します。
*******************************/
'HUSTLE_TAGCLOUD'=>'[hustleShort file="include/shortcode/TagCloud" smallest="1.0" largest="3.0" unit="rem" number="55" pst="0"]',
Googleマップ
Google_Mapsを利用するショートコードへ渡す情報を登録します。以前はsetGoogleParams()メソッド参照で登録してました。
‘GOOGLE_MAPS’というキーワードにKEYとIDの連想配列を代入します。
引越しは、メソッドのパラメータの連想配列をそのまんまコピーしてきてペーストできます。登録内容に変更はありません。「あさま」のあからさま(ショートコードその3)の「Googleマップ」欄を参考にしてください。
/*******************************
Googleマップ利用に必要となる'KEY'と'ID'の連想配列にて登録する(変更不可変数名=>値)
*******************************/
'GOOGLE_MAPS'=>array(
'KEY' => 'XXXXXXXXXXXXXXXX_XXXXXXXX-XXXX',
'ID' => 'XXXXXXXXXXXXXXXX',
),
一覧の抜粋文字数
「あさま」のまさか(その4)で追加したアーカイブページで一覧内に投稿内容の抜粋を何文字表示するかの指定です。
これは引越しありません。整数値に変更を加えてありましたら、確認の上で変更してください。
/*******************************
一覧の抜粋文字数(必ず整数)
*******************************/
'EXCERPT_NUMBER'=>55,
RSSへアイキャッチ画像を出力
RSSへアイキャッチ画像を出力する真偽値の登録です。以前はaddThumbnailForRss()メソッド参照で登録してました。
今回からは’ADD_THUMBNAIL_FOR_RSS’というキーワード(変数名)に真偽値を代入します。
引越しは、メソッドのパラメータをコピーしてきて新キーワードへの代入にペーストしてください。登録内容に変更はありません。「あさま」のあからさま(ショートコードその4)の「function.php」欄を参考にしてください。
/*******************************
RSSにアイキャッチ画像(サムネール)を加えて出力するかしないかの真偽を登録する。
*******************************/
'ADD_THUMBNAIL_FOR_RSS'=>false,
hustle_config()メソッドの一番最後にちょこんとaddThumbnailForRss()メソッドへの参照があります。存在をお忘れなく。
$obj->addThumbnailForRss(false);
以上にて新しいfunction.phpへの引越しの作業が終了しました。
そんなにすっきりした印象はありませんが、メソッドの参照をまとめることができましたので「良し」にさせてください。(何度も言ってる。)
サイト内asamitoディレクトリ内の古いfunction.phpに上書きしてアップデートを終了してください。(バックアップを忘れずに。)
ご協力をありがとうございました。(我ながら図々しい。)
独自テーマ「あさま」は、子テーマ「あさまっこ」のfunction.phpを設定変更し、asamito.cssに調整変更を加えるだけでオリジナルのサイトを展開できる仕様です。
利用される方がJavascriptに触れる必要のないよう作ったのですが、冒頭の方でお願いした通りにjsディテクトリの差し替えとなりました。ほんとに申し訳ない。ごめんなさい。
でも、「もうしません。」と言える自信はありませーん。そかさ。