Wordpress:activate_plugin 函数找不到文件

Wordpress: activate_plugin function doesn't find the file

我试图从主题的 functions.php 激活一个插件,但是我收到错误 'Plugin file does not exist',即使路径设置正确。 这是我的代码:

function activate_plugins( $plugin_path ) {

    // Get already-active plugins   
    $active_plugins = get_option('active_plugins');
    // Make sure your plugin isn't active
    if (isset($active_plugins[$plugin_path]))
        return;

    // Include the plugin.php file so you have access to the activate_plugin() function
require_once(ABSPATH .'/wp-admin/includes/plugin.php');
    // Activate your plugin
    $res = activate_plugin($plugin_path);
    if ( is_wp_error( $res ) ) {
        echo $res->get_error_message();
    }

    return null;
}
activate_plugins( get_bloginfo('template_directory') . '/plugins/multiple-post-thumbnails/multi-post-thumbnails.php' );

我正在尝试从主题文件夹加载插件,因为我目前正在开发一个主题,我想在未来销售,并且不希望客户在安装后必须手动安装插件主题。我能做什么?

插件必须包含在 WP 插件目录 ./wp-content/plugins/ 中。查看您的代码,您正在尝试从位于模板目录内的 "plugins" 文件夹加载插件。

而是将您的插件移动到上面指定的正确目录并使用 ABSPATH . PLUGINDIR 获取正确的路径。

activate_plugins( ABSPATH . PLUGINDIR . '/multiple-post-thumbnails/multi-post-thumbnails.php' );