web-dev-qa-db-ja.com

get_template_partとテンプレートファイルの名前

私はいくつかの異なる場所でループを使用する予定のカスタム投稿タイプがあり、それらのループの保守をより簡単にしたいと思いました。私はget_template_part()が利用可能であることを思い出し、これが慣れるのに最適な時期であると考えました。しかし、停止しているのは、特定の部分を正確に呼び出すことができるように、ループ用のファイルを設定する方法です。

これまでのところ、Googleはget_template_part()と20のloop.phpが実際にどのように機能し、3つの部分を呼び出すのかを理解するのに役立ちませんでした。私はそれを複製し、削除し、私のCPTバージョンを変更する準備をしましたが、それはこれまでのところです。

何か手助け?

1
tw2113

コーデックスは、 get_template_part() ロジックについて非常にきちんと説明しています。

テーマフォルダがwp-content/themesであると仮定すると、親テーマは20で、子テーマは20歳です。そして、次のコードは -

<?php get_template_part( 'loop', 'index' ); ?>

指定されたファイルに対してPHPrequire()をこの順番で実行します。

  1. wp-content/themes/twentytenchild/loop-index.php

  2. wp-content/themes/twentytenchild/loop.php

  3. wp-content/themes/twentyten/loop-index.php

  4. wp-content/themes/twentyten/loop.php

基本的にはもっと一般的なテンプレートともっと特殊なテンプレートを持つことができます。特殊化されたテンプレートは一般的なものの前に調べられます。それはそれについてほとんどすべてです。

1
Rarst

私はいつも私のテーマディレクトリの中にあるファイルをインクルードするためにそれを使いました。

だから私はutils.php(WP-コンテンツ/ themes/mytheme/functions/utils.php)と呼ばれるファイルを持っている機能と呼ばれるテーマディレクトリにフォルダがあるなら、あなたはちょうどそのようにファイルを含めることができます

get_template_part( 'functions/utils' ); // includes /functions/utils.php - .php gets added automatically

またはテーマのルートにあるファイル

get_template_part( 'sidebar' ); // includes sidebar.php

私は実際にそれをする2つのパラメータの方法を取得しません。ファイルへのdirパス構造を使用し、ファイルタイプをそのままにしておくと、うまくいきます。

1
jaredwilli