正如@Sally CJ指出的,我必须使用function_exists(\'file_get_html\')
, 像这样:
if (!function_exists(\'file_get_html\')) {
require(CPS_PLUGIN_PATH . \'/vendor/simple_html_dom.php\');
}
然而,这在一开始仍然没有起到作用,因为错误不是发生在我的插件中,而是发生在最先加载的Fast Velocity Minify插件中。所以我不得不改变插件加载的顺序。我将插件放在加载序列的最后,代码如下:
function csp_load_last()
{
$path = str_replace( WP_PLUGIN_DIR . \'/\', \'\', __FILE__ );
if ( $plugins = get_option( \'active_plugins\' ) ) {
if ( $key = array_search( $path, $plugins ) ) {
array_splice( $plugins, $key, 1 );
array_push( $plugins, $path );
update_option( \'active_plugins\', $plugins );
}
}
}
add_action( \'activated_plugin\', \'csp_load_last\' );
代码必须进入主插件文件,在我的例子中,它是
custom-post-snippets.php
.
我只希望这不会导致任何其他错误,但到目前为止,它似乎像这样工作得很好。