当文件夹在WP文件夹之外时,REGISTER_THEME_DIRECTORY以某种方式失败

时间:2013-11-20 作者:LeMike

这是WordPress的一个简单框架,使版本控制下的“主题”和“插件”成为可能:

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

执行时register_theme_directory(__DIR__ . \'/themes\'); 对于WP之外的文件夹,主题显示在后端,可以激活。

但查看前端时,页面保持空白。

我想这取决于文件夹是否高于一级,客户端是否无法访问。但是服务器可以访问它,所以我想我做错了什么。

是否有任何解决方案可以将主题置于WP之外,但仍然有效?(否则register_theme_directory 有点无用)

还是有更好的解决方案让这两个人在外面?(我还需要照顾这里没有经验的开发人员)

我的文件夹结构如下:

├── plugins
├── public (document root of apache)
│   ├── wp-admin
│   ├── wp-content
│   │   ├── plugins
│   │   └── themes
│   │       ├── twentyeleven
│   │       ├── twentyten
│   │       ├── twentythirteen
│   │       └── twentytwelve
│   │       └── twentyfourteen
│   └── wp-includes
├── themes
│   └── foo
└── uploads
只要我切换到主题“foo”,前端就会保持白色和空白(没有单一输出)。

1 个回复
最合适的回答,由SO网友:Otto 整理而成

虽然我无法回答您的特定白屏问题,但注册的主题目录至少必须在Apache文档根目录中。

主题中的许多文件,如CSS、JS、图像等,都是由Web服务器直接提供的,而不是通过调用WordPress。因此,拥有一个Web服务器进程无法直接访问和服务的主题目录显然是行不通的。

结束

相关推荐

为什么不调用/触发“Plugins_Load”?

我正在打电话load_plugin_textdomain 然而,一旦加载了插件,就不会发生这种情况。我确实激活了一个插件,所以这不应该触发吗?add_action(\"plugins_loaded\", \"test_override\"); function init_localization() { echo \"init_localization<br>\"; load_plugin_textdomain (&#x