首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何通过外部PHP脚本安装和激活插件

如何通过外部PHP脚本安装和激活插件
EN

WordPress Development用户
提问于 2018-04-26 10:13:56
回答 1查看 4.7K关注 0票数 1

我使用一个定制的Php脚本通过软API安装WordPress。一旦安装完毕,以编程方式安装和激活插件的最佳方法是什么?我可以尝试在软件中设置一个自定义WP脚本,在自定义插件中设置一个PHP脚本,但是我不喜欢这样做,而是在WP安装之后安装/激活这个插件。

因此,如果可能的话,我想在WP主安装之后并从外部PHP脚本中做的事情是:

  1. 通过PHP使用管理凭据进行身份验证
  2. 从存储库下载特定的插件
  3. 安装插件
  4. 激活插件

也许我可以使用TGM-Plugin-Activation来安装/激活另一个插件,但是我需要能够安装/激活这个插件本身。这是不可能没有任何管理员用户点击和不使用文件夹预安装?

我读过这些帖子:

通过php激活单个插件

插件来安装插件

EN

回答 1

WordPress Development用户

回答已采纳

发布于 2018-04-26 12:28:56

WP CLI

简单的方法是:使用WP CLI (也可以作为wp-cli.phar)为这一需求获得可靠的、可维护的解决方案。有关此主题的更多信息,请参见命令

WP API

如果您需要一个自定义脚本是必要的加载WP,通过wp-load.php和寻找函数activate_plugin($path_to_the_plugin)

激活

例如,您需要获得激活插件所需的所有需求,请参见下面的

代码语言:javascript
运行
复制
define( 'WP_ADMIN', TRUE );
define( 'WP_NETWORK_ADMIN', TRUE ); // Need for Multisite
define( 'WP_USER_ADMIN', TRUE );

require_once('../wp-load.php');
require_once( '../wp-admin/includes/admin.php' );
require_once( '../wp-admin/includes/plugin.php' );

activate_plugin( 'PATH_TO_THE_PLUGIN' );

Installation

通过WP的API安装插件也是可能的,这也有助于在正确的方向上运行一些代码。

代码语言:javascript
运行
复制
// Include required libs for installation
require_once( ABSPATH . 'wp-admin/includes/plugin-install.php' );
require_once( ABSPATH . 'wp-admin/includes/class-wp-upgrader.php' );
require_once( ABSPATH . 'wp-admin/includes/class-wp-ajax-upgrader-skin.php' );
require_once( ABSPATH . 'wp-admin/includes/class-plugin-upgrader.php' );

// Get Plugin Info
$api = plugins_api( 'plugin_information',
    array(
        'slug' => $plugin,
        'fields' => array(
            'short_description' => false,
            'sections' => false,
            'requires' => false,
            'rating' => false,
            'ratings' => false,
            'downloaded' => false,
            'last_updated' => false,
            'added' => false,
            'tags' => false,
            'compatibility' => false,
            'homepage' => false,
            'donate_link' => false,
        ),
    )
);
$skin     = new WP_Ajax_Upgrader_Skin();
$upgrader = new Plugin_Upgrader( $skin );
$upgrader->install( $api->download_link );

一个安装和激活的示例在这个类中看到您。

票数 6
EN
页面原文内容由WordPress Development提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://wordpress.stackexchange.com/questions/301931

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档