有没有适用于任何主题的全局函数.php文件?

时间:2011-10-09 作者:Mert Nuhoglu

是否有一些全局函数。适用于任何主题的php文件?

问题在于:

当我改变一个函数时。php文件中的任何主题,我都需要注意两个变化:第一,我需要注意该主题的更新。其次,我需要注意改变网站的主题。

因此,我们没有改变功能。php的一个主题,是否可以对某些函数进行更改。独立于任何主题的php文件?

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

主题代码和非主题代码的区别在于组织而非技术。任何处于活动状态的代码都会对生成的环境作出贡献,无论从何处加载都无关紧要。

有许多地方可以加载代码,这些地方不是WordPress核心的一部分:

  • wp-config.php 配置文件
  • 活动主题(及其子主题中的父主题)
  • 活动插件
  • 必须使用插件
  • 下拉式插件(这些插件有些高级,用于非常特定的目的)
    • 对于您自己的代码来说,不应该是主题的一部分,典型的地方是创建插件。其他方法没有通用案例的好处,但丧失了普通插件的接口(通过管理区域管理)和技术(激活/停用/卸载事件)便利。

SO网友:Mohit Bumb

这是一个真正的问题,许多人在改变主题时都会面临这个问题,但有一个简单的解决方案。

将该函数添加到新页面,而不是函数。php并给它一个唯一的名称,例如yousitename+timestamp或任何你想要的,但唯一的创建同名文件夹将其压缩并作为插件上传,因此它肯定会工作,直到你禁用它。

要了解哪个插件用于什么,请不要错过给该插件命名,如:

/*
Plugin Name: XYZ
*/

SO网友:kaiser

作为@MBTheDeveloper答案的补充

其他选择包括:

为当前主题创建子主题并使用函数。php文件(这是“最佳实践”)使用include 在主题函数php文件中加载一个自定义函数。包含自定义代码的php文件

SO网友:Otto

不要对主题的功能进行特定于站点的更改。php文件。

相反,创建一个特定于站点的插件。我喜欢使用网站的域名,比如“ottopress.com”。然后将代码片段放入该插件中,并仅在该站点上保持活动状态。

或者,当您有一个相关更改的片段时,只为它们创建一个特定的插件。这为您提供了根据需要打开/关闭相关代码位的选项。

SO网友:Hameedullah Khan

首先,您需要了解函数的用途。主题中的php。功能。php基本上只是一个没有任何名称的插件文件,如果存在,将由Wordpress自动加载。Wordpress加载当前主题的功能。php用于wordpress前端页面和后端(管理)页面。

插件和函数之间没有什么不同。php,但插件有名称,可以激活/取消激活,而不考虑其他插件和主题。功能。php附加了您当前的主题,如果您切换到另一个主题,Wordpress将使用新主题的函数。php,而不是旧函数。带有自定义修改的php。

主题更新也会覆盖功能。php,即使您将自定义修改放在单独的代码文件中并将其包含在功能中,也无法避免它。php,您必须在每次更新后添加包含行。

通常是应该放在函数中的代码类型。php:

主题模板文件中使用的函数

  • 主题选项
  • 侧栏
  • 导航菜单
  • 发布格式
  • 发布缩略图
  • 仅与当前主题相关的任何代码
  • 因为即使切换主题,您也希望保留自定义修改。因为子主题在这种情况下不起作用,因为您将切换主题和函数。不会使用子主题的php。

    解决方案@Otto推荐的唯一解决方案是创建插件文件。创建站点特定插件的方法是在“wp内容/插件”中创建一个包含站点名称的文件夹,并在其中创建插件文件。

    为什么选择插件文件?而不是单个插件文件

    组相关站点的功能与单独插件文件中的代码相关,不要忘记添加plugin header 在所有插件文件中,以便Wordpress将其识别为单独的插件。然后,您将能够激活/取消激活站点的不同功能/功能,而不会破坏一切。

    结束

    相关推荐

    常量WP_USE_THEMES用于什么?

    关于WP_USE_THEMES 常数Codex states:如果在自己的设计中使用循环(并且自己的设计不是模板),请将WP\\u USE\\u THEMES设置为false。但是对WordPress的实际影响是什么呢WP_USE_THEMES 设置为true还是false?我想知道WP是如何使用它的。