web-dev-qa-db-ja.com

管理パネルに表示されるサブフォルダーCSS

管理者からの入力に基づいていくつかの異なる設定オプションを持つテーマを作成中です。選択肢の1つは、ZurbまたはBasicタイプのレイアウトです。

私はSCSSを使っていて、メインのテーマファイルとは別のサブフォルダにスタイルシートを入れたいと思っています。私はこれを十分に簡単に達成することができ、WPに特定の設定のためのCSSフォルダをどこに見つけるべきかを伝えます。しかし、WP STILLでは、style.cssドキュメントをテーマのルートに置く必要があります。そうしないと、管理パネルからテーマが壊れていることがわかります。これはWPがstyle.css/index.phpファイルにあるテーマヘッダ情報を探しているためです。 WordPressにテーマヘッダ情報の他の場所を探すように指示する方法はありますか?

私はあなたが十分に簡単にこのメインのstyle.cssにCSSファイルを@importできることを知っています。しかし私はメインフォルダのstyle.cssファイルが完全には存在しないことを好むでしょう。

関数呼び出し/ hook/filter/ectがありますか。これは、WP管理パネルに、メインのテンプレート/スタイルシートファイルが実際には別のサブフォルダにあることを知らせるために使用できますか?このテーマに関して私が読んだ他のすべての記事では、@import機能をメインのstyle.cssファイルに追加する方法を説明するか、stylesheet_directory_uri();の使用を提案します。どちらの方法でも、ルートフォルダにstyle.cssが必要です。実際にWPに別の方法で処理させることに対処するという提案は見たことがありません。

これがコアを編集することを意味していても(これは私が普段は決してやらないことです)、私はそれで大丈夫です。私はただ知りたいのです。私が上で述べた解決策は、他のすべてが失敗したなら私の問題を解決するでしょう。

1
voodooGQ

ここで@Vinoが回答: https://stackoverflow.com/questions/12066316/sub-folder-css-template-headers-that-are-read-by-admin-panel/12139043#comment16259096_1213904

「ファイルwp-includes/class-wp-theme.php、行191、WP 3.4.1ソース。しかし...フィルターはなく、クラスはfinalです。あなたは危険にさらされて編集できます、 ' WPを更新すると、作業が上書きされます。」

0
voodooGQ

たくさんの利用可能なフィルタがあります、私がget_stylesheet_directory_uri ()関数で見つけたものは - stylesheet_directory_uriです(wp-includes/theme.php# L166)

例 -

    add_filter('stylesheet_directory_uri','wpse62567_stylesheet_dir');
    function wpse62567_stylesheet_dir($stylesheet_dir_uri, $theme_name){
        return $stylesheet_dir_uri . '/new-dir';
    }
0
amit