タグ付けされた質問 「template-include」

3
フォルダでget_template_part()を使用する方法はありますか?
フォルダでget_template_part()を使用する方法があるかどうか疑問に思っていますか?すべての再利用可能な要素を個別のファイルに入れるため、メインフォルダーには多くのファイルがあります。それからフォルダに入れたいです。 Codexにはそれに関する情報はありません:http : //codex.wordpress.org/Function_Reference/get_template_part

3
プラグインデータをテーマに統合する方法
テーマの統合を提供するWordPressプラグインを開発するためのベストプラクティスに関する意見を聞きたいと思います。 この質問をするときに意味をなすために、私が興味を持っているシナリオの仮説的な例から始めましょう。「Discography」というプラグインを作成するとします。ディスコグラフィーは、「バンド」、「アルバム」、「トラック」の3つのカスタム投稿タイプを登録します。プラグインは、各投稿タイプの詳細を提供するメタボックス、および各投稿タイプを整理するためのカスタム分類も提供します。これらの投稿タイプは、Posts 2 Postsプラグインと結びついています。管理者内で、ユーザーは新しいバンドを追加できます。新しいバンドはアルバムに関連付けられ、アルバムはトラックに関連付けられます。すべてのトラックには、メタボックスと分類法を介して他の多くのデータが追加されます。 さて、このプラグインでユーザーがこの情報を入力できるように管理者を設定するだけでは望ましくありません。データのデフォルトの表示を提供したいと思います。より高度なユーザー/開発者であれば、この管理者のみで十分です。彼女がそのデータを取得してテーマで使用するのは簡単です。ただし、一部のデフォルトビューがなければ、このプラグインはほとんどのユーザーにとって役に立たないでしょう。この例では、次のようなものを表示できます(括弧は、テンプレート階層の順に情報を表示する方法を示しています)。 バンド(single-prefix-band.php、single.php、index.php、ショートコード) アルバム(single-prefix-album.php、single.php、index.php、ショートコード) トラック(single-prefix-track.php、single.php、index.php、ショートコード) バンドリスト(template-band-list.php、page-band-listing.php、page- {id} .php、page.php、index.php、ショートコード) アルバムリスト(template-album-list.php、page-album-listing.php、page- {id} .php、page.php、index.php、ショートコード) アルバムタイムライン(template-album-timeline.php、page-album-timeline.php、page- {id} .php、page.php、index.php、ショートコード) デフォルトのテンプレートファイルには、各投稿タイプに必要なすべての情報が表示されないため、これらの投稿タイプにはデフォルトのプレゼンテーションがあることが重要です。たとえば、Twenty Elevenテーマでは、デフォルトで、アルバムの名前、カテゴリ、説明、投稿日のみが表示されます。アルバムにはあまり役立ちません。バンド、リリース日、レコードレーベル、アルバムバージョン、トラックなどを取り込む単一の投稿テンプレートを提供したいと思います。プラグイン開発者として、私はそれを提供することが重要だと感じます。テンプレートはすべてのテーマで機能するとは限りませんが、ユーザーのテーマとさらに統合できるデフォルトが必要です。 繰り返しますが、この状況に対処する最善の方法は何ですか?次のいずれかを実行できると思います。 ショートコード ショートコードは、非開発者がサイト内のどこにでもバンド、アルバム、トラック、バンドリストなどを追加できるようにする非常に柔軟でユーザーフレンドリーな方法として使用できます。特定のページにバンドを配置したり、バンドごとに個別のページを作成したりするのに役立ちます(あまり効率的ではありませんが、一部のユーザーはこの方法でアプローチします)。ショートコードはHTMLを生成します。HTMLは、目的のデータの見やすいデフォルトビューを提供する提供されたCSSファイルに関連付けられます。すべてがプラグインファイル内に含まれ、テーマで何もする必要はありません。 テンプレートファイル プラグインには、テンプレートファイルも同梱できます。テンプレートファイルをマークアップして、見やすいデフォルトビュー用にスタイル設定できます。投稿タイプが表示されたときにテーマが適切なテンプレートを見つけるように、ユーザーにファイルをテーマフォルダーに移動する指示を提供できます。ユーザーがシングルクリックでファイルを移動できるインターフェースを提供することさえできます(注:起動時にユーザーのテーマフォルダにファイルを作成することはありません。 。 また、フィルターを使用してこれらのファイルをプラグインフォルダーから移動せずに使用し、すべてを自己完結させたままにすることもできます。この目的で使用される「template_include」および「{$ type} _template」フィルターを見てきました。実際、themesフォルダーのテンプレートを使用できます。テンプレートが存在しない場合は、これらのフィルターを使用してデフォルトビューを提供できます。 質問 提示されたアイデアに何らかの問題がある場合、他の人がこれらの状況のベストプラクティスであると考えるもの、および私が含めていない代替案を知りたいです。 ありがとうございました!

2
カスタム投稿タイプでtemplate_includeを使用する
プラグインディレクトリのファイルにフォールバックする前に、テーマフォルダーで適切なテンプレートを確認したいのですが。これが私のコードです: add_filter( 'template_include'、 'sermon_template_include'); function sermon_template_include($ template){ if(get_query_var( 'post_type')== 'wpfc_sermon'){ if(is_archive()|| is_search()): if(file_exists(TEMPLATEDIR。 '/archive-wpfc_sermon.php')) TEMPLATEDIRを返します。'/archive-wpfc_sermon.php'; dirname(__ FILE__)を返します。'/views/archive-wpfc_sermon.php'; そうしないと : if(file_exists(TEMPLATEDIR。 '/single-wpfc_sermon.php')) TEMPLATEDIRを返します。'/single-wpfc_sermon.php'; dirname(__ FILE__)を返します。'/views/single-wpfc_sermon.php'; endif; } $ templateを返します。 } 問題は、それが機能しないことです!:-)それは常に私のプラグインフォルダ内のファイルを選びます。どうすればいいですか?多くのバリエーションを試しましたが、何も動作しないようです。前もって感謝します!ジャック 編集 テーマフォルダーが存在する場合、archive-wpfc_sermon.phpがテーマフォルダーから返されることを期待しています。ただし、私のプラグインからのファイルは常に返されます。ご協力いただきありがとうございます!これは、リポジトリで入手可能なSermon Managerプラグインからのものです。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.