私はこの質問から始めます:機能はコンテンツのプレゼンテーションに関連していますか、それともコンテンツ、サイト、またはユーザーIDの生成/管理に関連していますか?
機能がコンテンツの表示に特に関連していない場合、プラグインテリトリー内にあります。このリストは長いです:
- コアWPフィルターの変更(
wp_head
標準リンク、ジェネレーター、その他のHTMLメタなどのコンテンツ
- サイトファビコン
- コンテンツ後のショートコード
- 投稿共有リンク
- Google Analytics(および同様の)フッタースクリプト
- SEOツール/コントロール
- 等
機能がコンテンツの表示に関連している場合、それはテーマに含まれる候補です。この時点で、私はに戻るでしょうRaf912のテーマスイッチの基準@:あなたがテーマを切り替えたときに機能を欠場でしょうか?その質問に対する答えがnoの場合、機能はテーマに属します。いくつかの例:
- WPコアギャラリーCSSの削除/オーバーライド
- 投稿の抜粋の長さ、「続きを読む」テキストなどのフィルタリング
- 経由で実装されたもの
add_theme_support()
(これは明らかなはずです)
- カスタムCSS
通常、これら2つの質問は、かなり明確な差別化ラインを提供します。ただし、例外があります。
カスタム投稿タイプ
たとえば、カスタム投稿タイプは、テンプレートの階層が単一投稿タイプのアーカイブインデックスページと単一投稿ページで機能する方法を考えると、コンテンツ生成とプレゼンテーションのユニークなハイブリッドのビットです。CPTのコンテンツ生成の側面では、通常、プラグインテリトリー内に配置されます。ただし、プラグインは、特定のテーマのデザイン/レイアウト/スタイルに本質的に適合するテンプレートページを定義できません(特に、CPTが通常のタイトル/コンテンツ/メタ以外を表示する場合、またはそれに関連付けられたカスタム分類がある場合)。
長期的には、この格差の解決策であるIMHOは、特定の種類のコンテンツ(不動産リスト、カレンダーイベント、eコマース製品、書籍/メディアライブラリエントリなど)のCPTの定義に関する標準的な規則/コンセンサスを持つことです。)。そのようにして、ユーザーが生成したコンテンツは、特定のCPTの標準/慣習の定義を実装するテーマ間で移植可能になり、テーマ開発者は、テーマテンプレートファイルでそのCPTのデザイン/レイアウト/スタイルを定義する柔軟性を保持します。
ソーシャルメディアリンク
同様に、現在のテーマではソーシャルメディアプロファイルのリンクはほぼすべての場所に存在するが、それらはコンテンツの表示とは何の関係もないため、プラグインテリトリーであると通常言います。最善の解決策は、これらのプロファイルをコアのどこかに定義することです。ただし、これらのリンクを定義するための標準/コンセンサス手段は現在ありません。それらはサイト設定レベルで最もよく定義されていますか、それともユーザーごとに定義されていますか?ユーザーごとの場合、どのユーザーのメタがテンプレートで公開されますか?等
繰り返しになりますが、この格差に対する解決策は、コアがこれらのリンクを定義する場所を定義するか、テーマ開発者コミュニティが独自のコンセンサスを開発することです。それまでは、各テーマ内で定義されたままにする以外に何もありません。