子テーマでテンプレートのphpを修正する場合に、親テーマにある部品phpのincludeが行われない
→inludeをget_template_part関数に変更
※このサイトは「EASEL」というテーマを使用させていただいております。
作品ページ「single-works.php」に修正を入れるにあたり、このphpをコピーして子テーマにアップロードすると、
ページネーション部分(改ページ(nextpage)を入れている場合に1、2、…と出る部分)が出なくなる問題がありました。
当該箇所は以下のように書かれています
include( 'library/parts/pagination.php' );
上記は親テーマの場合は正常に動作しますが、子テーマでは上記パスにファイルがないため正しくincludeされないという動作になります。
これの解決方法については、パスを通すために手前に「TEMPLATEPATH」をつける(親側にincludeしたいものがあるとき)とか「STYLESHEETPATH」をつける(子側にincludeしたいものがあるとき)というような対応でもよいようですが、
get_template_part関数を使えば、子テーマにあればそのテンプレートを、子にない場合は親のテンプレートをとるという動作になるようです。
具体的には以下のように書き換えて正常動作しました。「.php」の部分だけ外すイメージです。
get_template_part( 'library/parts/pagination' );