質問

通常、テーマ関数ファイルでは、整理するために他のファイルが必要になります。

require_once("foo.php");

現在、子テーマで作業しているので、同じことをしたいと思います。カスタム管理オプションを追加していますが、コードを含めることは不可能のようです。正しいファイルを呼び出していることと、適切な場所を呼び出していることを確認するためにパスをエコーアウトしましたが、そのファイル内では何も実行されないようです。コードは、子テーマの関数ファイル内に配置すると正常に実行されます。

役に立ちましたか?

解決

子テーマはディレクトリ名で親テーマを参照し、通常のインストールではすべてのテーマが存在します。 wp-content/themes/, したがって、これらのテーマを相対パスで参照しても問題ないと思います。

include '../parent-theme/some-file.php';

それが不快な場合は、WordPress 3.0.1 の次の定数を観察してください。 二十一 という子テーマ tt子:

TEMPLATEPATH     /home/adam/public_html/wp3/wp-content/themes/twentyten
STYLESHEETPATH   /home/adam/public_html/wp3/wp-content/themes/tt-child

したがって、子テーマで次の操作を実行して、親テーマのディレクトリを参照できます。

include TEMPLATEPATH . '/some-file.php';

他のヒント

子テーマの場合の適切な方法は次のとおりです

require_once( get_stylesheet_directory() . 'foo.php');

親テーマ内でも引き続き使用できます

require_once ( get_template_directory() . 'foo.php' );

get_template_directory() 子テーマではまだ動作しますが、残念ながら親テーマのディレクトリをターゲットとしています。あなたの場合、それは役に立ちます

こんにちは @curtismchale:

これであるかどうかはわかりませんが、前後に引用符を含める必要があります foo.php, 、 そのようです:

require_once('foo.php');

それで問題は解決しますか?

使用 <?php get_template_part( 'name-the-page-here' ); ?>。拡張子 .php なし

URL をハードコードすることは絶対に避けてください。そうするための適切な方法は、

require_once( get_stylesheet_directory(). '/my_included_file.php' );

詳細については、次の URL を参照してください。 Wordpress コーデックス

さて、たとえば、インクルードを含む header.php を変更するには、次のように参照します。

require_once( get_stylesheet_directory() . '/../parenthteme/my_included_file.php' );

以下を含めることは完全に可能であり、通常のことです functions.php.

私は子テーマでこのようにします(php はコードのサブディレクトリです):

include 'php/core.php';

明らかな理由もなく問題が発生した場合は、デバッグ モードを有効にしてみてください。 wp-config.php:

define('WP_DEBUG', true);

関連するエラーが発生している可能性がありますが、表示されません。

これが子テーマのパスを取得する最良の方法だと思います

<?php $get_my_path = dirname( get_bloginfo('stylesheet_url') ); ?>
<?php require_once( $get_my_path. '/my_included_file.php' ); ?>

~からアイデアを得る http://dynamicweblab.com/2013/02/get-template-path-in-wordpress-child-主題/

ライセンス: CC-BY-SA帰属
所属していません wordpress.stackexchange
scroll top