【问题标题】:Renaming functions and variables in an original theme重命名原始主题中的函数和变量
【发布时间】:2013-09-29 04:22:15
【问题描述】:

我想创建一个主题,使用默认的 WordPress 主题作为初始点。

根据 WordPress Codex,推荐的方法是创建一个子主题。

不幸的是,这种方法可能会显着影响网站的性能,因为必须在网站实际显示之前调用这两个主题。 WordPress 在相当多的流行主机上往往相当慢,所以进一步减慢它不是我想做的事情。

同时,当开源主题足够接近预期结果,只需要进行一些小的重新编码时,从头开始编写主题似乎效率低下。

问题:如果我在主 CSS 文件中重命名主题,仍然有很多函数回调和变量处理旧主题的名称(例如,'twentyeleven')。必须有一些从中调用这些的中心位置。除了CSS文件顶部的主题名称外,我还需要重命名哪些内容才能完全重命名整个主题以防止它被更新,是否应该通过WordPress开发主题更新原始主题?

【问题讨论】:

    标签: themes wordpress-theming wordpress


    【解决方案1】:

    主题的所有函数和回调只有在主题被激活时才会被使用。因此,如果您将“211”主题复制到新文件夹并激活它,即使它们与原始主题具有相同的名称,也只会加载这些功能。要回答您的问题(使用“二十一十一”主题):

    1. 复制“twentyeleven”主题文件夹并为其命名
    2. 在新复制的主题文件夹中编辑文件style.css。更改 Theme Name:Theme URI:Theme Author:Description:Version: 值以匹配所需的输出。
    3. 转到外观->主题并激活您的新主题

    您现在有一个“211”克隆,但完全独立于原始文件。任何可用于“twentyeleven”主题的更新都不会影响您的主题(您的主题不会列出任何更新)。

    HTH

    【讨论】:

    • 太好了,谢谢。那么,我是否理解正确——如果我将一个主题复制到一个新文件夹,将其重命名为 css,将其从“twentyeleven”更改为“myrenamedtheme”,然后才激活它——所有函数和回调都会自动重命名,我会在代码中阅读“myrenamedtheme”,无论“twentyeleven”曾经是什么地方?
    • 没有。您仍然需要重命名所有函数名称、变量、文本域等,但您不会遇到任何 PHP 错误,例如“x 已在 y 中定义”,因为“myrenamedtheme”现在是独立的,即不是子主题。您可以使用 Sublime Text 等文本编辑器重命名所有内容。
    • 所以,基本上,我只需要浏览所有文件并进行搜索/替换。正确的?而我做完之后,新的主题还能用吗?
    • 是的。如果您正确进行搜索和替换,主题将正常工作。检查'Getting Started' section of the _s theme,那里记录了如何正确地做到这一点。
    【解决方案2】:

    您可能对 html5blank 感兴趣,这是一个样板的 wordpress 主题

    【讨论】:

    • 谢谢,这很有趣也很有用。不幸的是,这不是我所问问题的答案,但我可能会在未来某个时候发现这个主题很有用。
    • 我尝试转换一个像你这样的主题,受够了。有些主题更容易修改代码,希望你不会有任何问题。也许你可以删除硬编码的值并使用常量,尽你所能让它对你未来的模组更灵活:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-12-17
    • 2020-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-04
    • 1970-01-01
    相关资源
    最近更新 更多