WordPress主题的切入点是什么?

时间:2015-10-24 作者:Ярослав Рахматуллин

当WordPress加载并解析主题时,首先加载哪个文件?它是模板层次结构成员之一还是功能。php?主题中文件的加载顺序是否有例外?你知道在核心文件(源代码)的什么地方会发生这种情况吗?

在我的“调查”期间,我每FILE 在主题文件夹中,似乎入口点是函数。php。

奖金问题:

我想在一个地方验证用户身份验证和权限,而不是在模板层次结构的各个成员中。在公共WordPress插件或主题中,您是否有结构化OOP解决方案的示例?

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

活动主题的functions.php 文件中是否加载了第一个主题文件wp-settings.php. 所有其他主题文件的加载取决于请求的上下文,这在加载过程的后期发生,在用户经过身份验证、解析请求并运行查询之后。模板用于显示,模板中没有任何内容与前端显示无关。

大多数身份验证都发生在pluggable.php, 它允许您覆盖身份验证功能。如果要自定义身份验证过程,这可能就是您想要查看的地方。功能wp_get_current_userwp 类来启动该过程。在这个过程中,还可以触发一些操作,让您运行自己的代码并缩短过程,这是一种比完全重写可插入函数更简单、更安全的方式来完成自己的身份验证工作。

我建议您熟悉Action Reference 查看加载过程中事情发生的顺序。您在WordPress中所做的几乎每件事都将与在特定时间运行的操作挂钩。我还建议您将代码放在插件中,或者如果您希望插件不受所选主题的影响而存在,则必须使用插件。

至于奖金问题,我想不出一个现成的问题,也许我以后会想些什么。。。

相关推荐

CUSTOMIZE_PREVIEW_INIT:监听来自Customizer预览区域的任何更改

我知道我可以通过将以下JS添加到customize_preview_init 挂钩:wp.customize( \'setting-ID\', function ( value ) { value.bind( function( val ) { // things go here } ); } ); 但我能轻松地听到任何变化吗?还是一组变化?例如,我有大量的设置,它们的名称如下:my_settings[setting_a], m