WordPress 无法识别 /themes/ 文件夹中的主题
Posted
技术标签:
【中文标题】WordPress 无法识别 /themes/ 文件夹中的主题【英文标题】:WordPress not recognizing theme in /themes/ folder 【发布时间】:2011-05-08 03:23:37 【问题描述】:在权限、WordPress 和主题文件方面遇到了一个非常令人费解的问题。
我全新安装了 WordPress,并尝试上传我为客户制作的主题。它上传得很好,但它没有显示在“管理主题”菜单中。我检查了所有内容都已上传,确实如此。检查权限(甚至一度将它们设置为 777)并且它们很好。但是主题没有出现。
以下是我尝试过的不同场景:
使用“安装主题”菜单并上传 .zip(失败) 复制二十个文件夹和内容(工作) 复制了二十个文件夹并使用了我的主题文件(失败) 复制了 20 个文件夹并使用了我的主题文件及其 style.css(失败) 上传了我没有 style.css 的主题(出现缺少 style.css 错误) 在没有 style.css 的情况下上传了我的主题并放入了 20 个/从头开始创建了一个(都失败了)我在我的客户 MediaTemple 托管,我从来没有遇到过这个错误。他们的支持尚未回复我们。
有人有类似的问题吗?解决方案?如果需要,我可以为您提供 FTP 访问权限。
CSS Head(改变了值,但格式和一切都一样):
/*
Theme Name: Example Theme
Theme URI: http://example.com/
Description: WordPress theme
Author: Company
Version: 1.0
*/
编辑:尝试通过我的浏览器访问该文件夹会导致 403 错误(在 20 上工作正常)。 style.css 可以在浏览器中查看。
【问题讨论】:
你能展示你style.css的头像吗? 添加到原始问题。格式化无法作为评论使用。 奇怪。想到的唯一想法是 style.css 被 FTP 传输(行尾之类的东西)搞砸了,或者 style.css 被你的编辑器给 BOM 搞砸了,而且 BOM 搞砸了解析。 好吧,我认为它也可能来自 FTP 传输。因此,我没有上传文件,而是创建了一个(通过 Transmit.app),然后复制并粘贴了我的样式表。效果一样。 如果您愿意,很乐意为您调查...收件箱我 【参考方案1】:主题文件夹名称是否与其他所有名称不同? style.css 中的主题名称是否与其他所有内容不同?
【讨论】:
我的目录为“exampletheme”,style.css 中的主题名称为“示例主题”。我在 .php 文件中的所有 @subpackage 值都是“exampletheme”。编辑:将其中任何一个更改为完全相同都没有效果。【参考方案2】:我敢打赌,您的模板中有一些特殊字符。这曾经让我发疯地寻找。 检查您的模板文件和/或重命名它们,直到主题出现。我在模板名称中使用了德语“ö”。
【讨论】:
鉴于 OP 来自亚利桑那州的斯科茨代尔,这不太可能......但非常好的一点,适用于所有非 ASCII 字符。也许就是这样。 我在 CSS 主题名称中确实有一个 & 符号,但这似乎不是问题,因为我删除了它以查看是否是问题所在。 +1 这可能是主题未在主题列表中注册的另一个原因。那么你至少需要 index.php、style.css 文件【参考方案3】:我猜BOMs 是问题所在。当我试图删除 BOM 时,他们搞砸了我对页面的验证。尝试使用编辑器并删除 BOM。对于Notepad++,我使用的文本编辑器,我只是将编码设置为没有BOM的UTF-8并保存。这解决了我的问题。当然,您的文本编辑器可能会有所不同。
【讨论】:
【参考方案4】:也许您缺少所需的模板文件?
至少,一个 WordPress 主题 由两个文件组成:
style.css
index.php
http://codex.wordpress.org/Theme_Development
【讨论】:
我使用的是 bedrock,index.php 位于resources
目录中【参考方案5】:
如果您使用的是 Wordpress 的多站点安装,您必须先进入网络管理,从左侧菜单中选择主题并启用您喜欢使用的主题,然后它们才能显示在中的“管理主题”页面上站点管理部分。
【讨论】:
【参考方案6】:As I discovered at the end of tortuous troubleshooting,旧的 wp-config.php 可能会导致新安装的主题未被检测到并且在 /wp-admin/themes.php 中不可见 - 我不确定您是否有确切的同样的问题,但它看起来与我的非常相似,您可能想尝试使用 Wordpress 新生成的 wp-config.php 进行配置。
【讨论】:
【参考方案7】:在 Ubuntu 14.04 上,您可以简单地使用 sudo apt install wordpress
安装 wordpress
软件包,但您必须设置指向主题目录的链接。
例如对于您的“新主题”:
ln -s /usr/share/wordpress/wp-content/themes/newTheme /var/lib/wordpress/wp-content/themes
【讨论】:
为什么??!?为什么,UBUNTU?!?你必须对 everything 进行 ubuntuize 吗?这个答案值得更高——Ubuntu在/usr/share/wordpress
中安装了一个完整的Wordpress,但在默认配置中设置WP_CONTENT_DIR指向/var/lib/wordpress/wp-content
,它有指向/var/lib/wordpress/wp-content/[symlink]
的符号链接,一个特殊副本 wp-content
... 就像没有人期望的那样。感谢您在数小时的故障排除后解除对我的阻止。
@Matt 如果您想要 Debian 和所有其他基于 Debian 的发行版提供的 WordPress 软件包,则意味着您可能想要:一个为数千个网站安装 WordPress ;由您的包管理器处理的升级(针对每个网站,而不是手动针对每个网站);牢记稳定性;以及以正确的标准分发方式放置的文件。它的包装方式允许它。因此,如果您不了解文件系统层次结构,那是您的问题。 tldp.org/LDP/Linux-Filesystem-Hierarchy/html/…【参考方案8】:
-
备份您的styles.css
将
styles.css
文件从twentyforteen
复制到您的主题文件夹。
仅更改文件顶部的模板名称
在 WordPress 后台重新加载主题页面;一旦你看到它的工作,
根据需要进一步修改新的styles.css
文件。
【讨论】:
【参考方案9】:问题可能是你在.zip
上传的
【讨论】:
【参考方案10】:您的 php 设置可能会禁用 scandir
。可能会导致wordpress无法扫描主题文件夹
解决方案:
找到 php.ini。您可以运行php --ini
来获取 php.ini 文件的位置。
打开php.ini,搜索disable_functions
,可以去掉scandir
参数。
保存并重新启动您的 php 服务。
【讨论】:
【参考方案11】:我有一个非常相似的问题。花了几个小时才发现,当我移动本地站点时(可能使用一体化 Wp 迁移插件),在 /wp-content 文件夹中创建了一个 .htaccess 文件。我不记得这个文件里面有什么,但我认为没关系。 删除此文件后一切正常。
【讨论】:
以上是关于WordPress 无法识别 /themes/ 文件夹中的主题的主要内容,如果未能解决你的问题,请参考以下文章
Wordpress 403/404 错误:您无权访问此服务器上的 /wp-admin/themes.php
无法修改标头信息 - 标头已由...发送 WordPress 问题 [重复]
php WordPress-Themes中的Aktiviert Lightbox-Funktion,死于WooCommercenichtunterstützen: