私は25のWebサイトに共通のテーマを開発しています、デフォルトの要件は完了です。各サイトは異なる単一の投稿テンプレートを持っています。毎回ハードコーディングして共通のプラットフォームを維持する必要がないように、それを単一のテーマとしてグループ化する必要があります。
さまざまなシングル投稿テンプレートはnormal-blog/tab structure/List viewです。私は今自分のテーマのオプションページを作成しています。ドロップ)。タブ、サイドバー、一覧表示、さまざまなカテゴリのテンプレートの保存など、特定のコンポーネントを作成する必要があります。タブの値は、カスタムフィールドの分類法から取得できます。ユーザーは、さまざまなカテゴリ/タグ/分類法のテンプレートを作成して保存することができます。 Egの場合:カテゴリスポーツ、教育用のテンプレート1。
私はそれをやろうとしていますが、私はそれへの手がかりがありません、テーマatuhalpaが近づいたのかもしれません。それを解決する方法。
WordPressのノウハウをあまり必要とせずに、ユーザーにsingle.php形式の構造を変更してもらいたいようです(おそらくクライアント用でしょうか)。
このためのオプションページを作成して、ユーザーが好みの構造を選択できるようにすることができます。
あなたのfunctions.php
またはプラグインでは、WordPressがページをロードするときにフックを使用して関数を呼び出します。次にこの関数はis_single()
を使用して、それが単一のページであるかどうかを確認し、WordPressにどの単一のテンプレートが選択されているかを確認させ、 change 呼び出されている(存在する場合はデフォルトでsingle.php
)。代わりに、single-normal.php
、single-tab.php
など(または単にsingle.php
)を呼び出すことができます。その後、さまざまなフォーマット用にこれらのそれぞれを作成します。
例えば:
add_filter('template_include', 'template_switch');
function template_switch( $template ){
if( is_single()) {
switch (get_option('single-template')){
case 'tab':
$template = locate_template( 'single-tab.php');
break;
case 'list':
$template = locate_template( 'single-list.php');
break;
case 'normal':
$template = locate_template( 'single-normal.php');
break;
}
}
return $template;
}
single-normal.php
はおそらく不要です。single.php
を使うことができます。また、オプションページを追加して、 'single-template
'オプションをWordpressに登録する必要があります。詳しくは、Codexの オプションリファレンス および オプションページの作成 を参照してください。
明らかにあなたはファイル 'single-normal.php
'、 'single-tab.php
'などを作成しなければならないでしょう。
Edit:または、switchステートメントを使用するのではなく、本当に賢い方法で(オプションが選択されている場合)単にテンプレートを呼び出します。'single-'.$option.'php'
は$option
です。 get_option('single-template')
。つまり、適切なページを作成し、利用可能なオプションを更新して上記のコードを変更することなく、いつでもテンプレートスタイルを追加できます。D
お役に立てれば!