从主题覆盖插件功能

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