2

「views base」というテーマを使っています。ドキュメントはこちら: http://wp-types.com/documentation/views-inside/views-base-theme/views-base-customization/

子テーマを作成しましたが、テーマに新しいウィジェット領域を追加する方法を見つけようとしています。

親テーマの functions.php ファイルには、require_once('class_base_theme.php'); という行があります。

このファイルには、すべてのウィジェット領域の配列を持つ $sidebar_array プロパティを持つ「class_base_theme」というクラスが含まれています。

$sidebar_array プロパティに追加するだけで、この親クラスに新しいリージョンを簡単に追加できます。しかし、子テーマでこのクラスを拡張および変更する方法がわかりません。親の functions.php ファイルの前に呼び出されるため、子テーマの functions.php ファイルでは実行できません。

4

1 に答える 1

1

実際には、親テーマに依存します。親が(!class_exists('class_name'))クラスをロードする前に if を使用する場合は機能しますが、そうでない場合は、クラスを再宣言しようとしてエラーが発生します。クラスを延長することをお勧めします。テーマで新しいphpファイルを作成し、それを要求してから、親のクラスを次のように拡張しますChild_Class extends Parent_Class {}

これで、新しいクラス内からChild_Class$sidebar_array にアクセスして、必要に応じて親のクラス関数を使用できるようになります。

于 2015-01-10T19:48:07.527 に答える