web-dev-qa-db-ja.com

単一のWordPressサイトで複数のテーマを使用しますか?

私は私のサイトのために全く異なるテーマを実装したいサブディレクトリを持っています(基本的に、それはセールスレター)。

誰かがそれを行う方法を教えてもらえますか?サブディレクトリにwordpressのコピーを別にインストールする必要がありますか?

5
Scott B

実際の質問を少し避けるために、 template hierarchy を使用すると、投稿ID、カテゴリ、分類用語などのカスタムハンドラを作成できます。それが問題を解決する最も簡単な方法です。単独で立っており、1つの投稿(またはカテゴリ、あるいはセールスレターが識別されている)へのリクエストのみを提供します。

get_header()get_footer()、その他のテンプレート関数を呼び出す必要はありません。そのため、サイト上の単一の投稿に対してまったく異なるページ構造を自由に使用できます。

7

あなたはあなたのスタイルシートをあなたのヘッダの(フック)にロードすることができます。その後、wp_enqueue_styleを使用してサイトごとにそれらをロードします。


1.a)page-template-file.phpのカスタムヘッダファイルを作成し、 カスタムヘッダ をコンディショナルタグ付きで(またはコンディショナル付きカスタムスタイルシートを使用して)タグ)。

それからあなたのfunctions.phpファイルでこのようなことをしてください:

add_action( 'my_styles_hook', 'wpse944_enqueue_style' );
function wpse944_enqueue_style()
{
    if ( ! is_singular() ) 
        return;

    // We use the current directory name as name for the stylesheet file & handle
    $name = dirname( __FILE__ );
    wp_enqueue_style(
         $name,
        ,get_template_directory_uri()."/$name.css"
        ,false
        ,filemtime( get_template_directory()."/$name.css" )
    );
}

あなたのテーマの同じサブディレクトリからこれをロードするなら、あなたは現在のディレクトリと全く同じ名前の追加のスタイルシートを登録するでしょう(スタイルシートはテーマのルートディレクトリに残ります)。このようにして、各ページを好きなように簡単にスタイル設定できます。さらに、必要のないものはロードしません。

1
kaiser