ウィジェットのカスタマイズ
エンジニアに依頼して、WordPressの海外テーマのウィジェットをカスタマイズしました。
カスタマイズしたファイルをそのまま親テーマに置いておくと、テーマのアップデートの際にカスタマイズが消失してしまうので、親テーマと同じディレクトリの構造にして、子テーマに置いたのですが、反映されませんでした。
該当ファイルを読み込むことはできた
そこで調べてみたところ、WordPress Codexによると、子テーマのディレクトリ構造内に存在するファイルをインクルードする場合、下記のコードを子テーマの function.php に書くのだそうです。
PHP
1require_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行目はこちらです。
PHP
1class Listify_Widget_Listing_Business_Hours extends Listify_Widget {
対処法をお分かりになる方、教えていただけると助かります。
宜しくお願いいたします。
###追記
テーマの作成元の記事にウィジェットのカスタマイズ例が書いてありました。
Create or Override Widgets in Listify(英語)
(下のほうの「Override the Entire Widget」というところです)
このカスタマイズファイルでは、
PHP
1class Custom_Widget_Call_To_Action extends Listify_Widget {
となっており、私の方でエラーの元になっていた Listify_Widget は使えているようです。
回答1件
あなたの回答
tips
プレビュー