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主题无法安装怎么办

Wordpress 403/404 错误:您无权访问此服务器上的 /wp-admin/themes.php

无法让字体在 wordpress 上工作

怎样制作wordpress手机主题

无法修改标头信息 - 标头已由...发送 WordPress 问题 [重复]

php WordPress-Themes中的Aktiviert Lightbox-Funktion,死于WooCommercenichtunterstützen: