バグ報告Ver.0.0.3

リリースメモ
この記事は約2分で読めます。
記事内に広告が含まれています。

【件名】見出しデザインメニューのカスタマイズ機能に制約がある

現象

スキンは、見出しデザインを登録し、メニューに反映する機能を有している。
子テーマのtmpフォルダーのように、追加・変更した差分を上書きする事をしていない。
この為、以下の制約が生じる。

  1. 親テーマのスキンに追加・変更
    親テーマを更新すると、追加・変更した見出しが消えてしまう。
  2. 子テーマ下に、スキン一式コピーし、追加・変更
    子テーマ下に、スキン一式をコピーするなら、親テーマとして配布する必要がない。

原因

以下に、コードを示す。

$skin     = '/skins/skin-made-in-heaven/';
$skin_url = get_theme_file_uri($skin);

define('HVN_SKIN', $skin);
define('HVN_SKIN_URL', $skin_url);

get_theme_file_uriで、親・子テーマの何れかのスキンフォルダーURLを取得する。
結果、参照先のスキンフォルダーURLは、固定となる。
この為、該当スキンフォルダーに、スキン一式ないと機能しない。

対策

以下に、変更例を示す。
親・子テーマのどちらに、該当ファイルがあるか、動的に参照する
結果、追加・変更した見出しのみ、差分を子テーマから取得する。

$h_url = HVN_SKIN_URL . "assets/css/h{$i}/h{$i}-{$no}.css";
↓
$h_url = get_theme_file_uri(HVN_SKIN . "assets/css/h{$i}/h{$i}-{$no}.css");

以下に、修正対象を示す。

パスファイル名
/skin-made-in-heaven/functions.php
/skin-made-in-heaven/lib/function.php
/skin-made-in-heaven/lib/hook-wp.php
/skin-made-in-heaven/tmp/css-custom.php
タイトルとURLをコピーしました