質問: ### ウィジェットのカスタマイズ エンジニアに依頼して、WordPressの海外テーマのウィジェットをカスタマイズしました。 カスタマイズしたファイルをそのまま親テーマに置いておくと、テーマのアップデートの際にカスタマイズが消失してしまうので、親テーマと同じディレクトリの構造にして、子テーマに置いたのですが、**反映されませんでした。** ### 該当ファイルを読み込むことはできた そこで調べてみたところ、WordPress Codexによると、子テーマのディレクトリ構造内に存在するファイルをインクルードする場合、下記のコードを子テーマの **function.php** に書くのだそうです。 ``` require_once( get_stylesheet_directory() . '/my_included_file.php' ); ``` 上記のコードに該当ファイルの階層をあてはめて試してみたら、以下のエラーが出ました。 ``` Fatal error: Class 'Listify_Widget' not found in /home/miyako-fan/miyakojima-fan.com/public_html/wp-content/themes/listify-child/inc/integrations/wp-job-manager/widgets/class-widget-job_listing-business-hours.php on line 7 ``` つまり子テーマにある該当ファイルを読み込んではいるのですが、 親テーマにあったファイルを子テーマにそのまま持ってきているため、 エラーが出ているようです。 ### 「クラスが見つからない」というエラー ちなみにエラーの出ている7行目はこちらです。 ``` class Listify_Widget_Listing_Business_Hours extends Listify_Widget { ``` 対処法をお分かりになる方、教えていただけると助かります。 宜しくお願いいたします。 ### 追記 テーマの作成元の記事にウィジェットのカスタマイズ例が書いてありました。 Create or Override Widgets in Listify(英語) (下のほうの「Override the Entire Widget」というところです) このカスタマイズファイルでは、 ``` class Custom_Widget_Call_To_Action extends Listify_Widget { ``` となっており、私の方でエラーの元になっていた **Listify_Widget** は使えているようです。
回答: 追記した記事通りに進めたところエラーは出なくなり、反映されました。 このテーマ自体がウィジェットをカスタマイズしやすいように出来ているようです。