从主题覆盖插件功能
Overriding plugin functions from a theme
有一个插件声明了它的所有表示函数,以便可以覆盖它们。即:
if (!function_exists('show_thing')){ ... }
这应该怎么做?我尝试在我的主题中声明该函数 functions.php 但它已经在那个执行点声明了。
如果我使用方法声明创建我自己的插件,那么如何确保我的插件在该插件执行之前加载并且函数肯定被覆盖?
最简单的方法是使用 Must Use Plugin。创建一个名为 /wp-content/mu-plugins
的文件夹。此目录中的任何 PHP 文件都将被加载(它们不必被激活)并将在激活的插件或您的主题文件(包括 functions.php
)之前执行。在此处使用一个文件来定义您要从插件中覆盖的功能。
查看此图了解有关 WP Core 加载顺序的更多信息:https://wordpress.stackexchange.com/a/26622/20880
有一个插件声明了它的所有表示函数,以便可以覆盖它们。即:
if (!function_exists('show_thing')){ ... }
这应该怎么做?我尝试在我的主题中声明该函数 functions.php 但它已经在那个执行点声明了。
如果我使用方法声明创建我自己的插件,那么如何确保我的插件在该插件执行之前加载并且函数肯定被覆盖?
最简单的方法是使用 Must Use Plugin。创建一个名为 /wp-content/mu-plugins
的文件夹。此目录中的任何 PHP 文件都将被加载(它们不必被激活)并将在激活的插件或您的主题文件(包括 functions.php
)之前执行。在此处使用一个文件来定义您要从插件中覆盖的功能。
查看此图了解有关 WP Core 加载顺序的更多信息:https://wordpress.stackexchange.com/a/26622/20880