web-dev-qa-db-ja.com

register_theme_directoryは、フォルダがWP-Folderの外側にあるどういうわけか「失敗」します

これはWordPressの単純なスケルトンで、バージョン管理下で "テーマ"と "プラグイン"だけを持つことができます。

https://github.com/sourcerer-mike/WordPress-GIT-Skeleton

WPの外部にあるフォルダーでregister_theme_directory(__DIR__ . '/themes');を実行すると、テーマはバックエンドに表示され、アクティブにすることができます。

ただし、フロントエンドを表示すると、ページは空白のままになります。

フォルダが1つ上のレベルにあり、クライアントに到達できないことが原因と考えられます。しかし、サーバーはそれにアクセスすることができるので、私は何か間違ったことをしたと思います。

WP以外にテーマを設定してもまだ機能している解決策はありますか? (そうでなければregister_theme_directoryはちょっと役に立ちません)

それとも、これら2つを外に持つためのより良い解決策はありますか? (私もここでそれほど経験豊富ではない開発者の世話をする必要があります)

私のフォルダ構造はこんな感じです:

├── plugins
├── public (document root of Apache)
│   ├── wp-admin
│   ├── wp-content
│   │   ├── plugins
│   │   └── themes
│   │       ├── twentyeleven
│   │       ├── twentyten
│   │       ├── twentythirteen
│   │       └── twentytwelve
│   │       └── twentyfourteen
│   └── wp-includes
├── themes
│   └── foo
└── uploads

私がテーマ "foo"に変更するとすぐに、フロントエンドは白のままで空のままです(単一の出力はありません)。

2
LeMike

私があなたの特定のホワイトスクリーン問題に話すことができない間、登録されたテーマディレクトリは少なくともApacheドキュメントルートの中になければなりません。

CSS、JS、画像など、テーマに含まれる多くのファイルは、WordPressの呼び出しではなく、Webサーバーによって直接提供されます。そのため、Webサーバープロセスから直接アクセスできず、処理できないテーマディレクトリを持っていても、明らかにうまくいきません。

2
Otto