Программная установка и активация плагинов Wordpress - PullRequest
7 голосов
/ 10 июля 2010

Возможно ли как-то программно установить плагины? Таким образом, я могу отправить своему клиенту один файл, который они распаковывают, перейти к какому-нибудь файлу installplugins.php, и он установит + активирует их? Единственный способ, который я нашел для этого, - действительно прогорклый низкоуровневый; Я надеюсь, что кто-то здесь знает лучшие методы.

Ответы [ 4 ]

13 голосов
/ 27 мая 2011

Обновление

Сегодня я использую цикл оболочки с wp-cli для установки и активации плагинов

Оригинальный ответ

Для активации я использую какой-то вариант этого.Предположим, у меня было три плагина, которые я хотел активировать («cforms», «w3-total-cache», «wordpress-seo»).Соглашение состоит в том, что их каталог и файл плагина .php имеют одно и то же имя:

$wordpress_path = "/path/to/my/wordpress/install";    
require_once( $wordpress_path . "/wp-load.php" ); //not sure if this line is needed
//activate_plugin() is here:
require_once(  $wordpress_path . "/wp-admin/includes/plugin.php");
$plugins = array("cforms",  "w3-total-cache",  "wordpress-seo");
foreach ($plugins as $plugin){
$plugin_path = $wordpress_path."wp-content/plugins/{$plugin}.php";
  activate_plugin($plugin_path);
}
1 голос
/ 06 февраля 2013

Вот полный сценарий; вставьте wp-admin, дайте ему суффикс .php и нажмите на него через curl.

<?php

define('WP_ADMIN', TRUE);
define('WP_NETWORK_ADMIN', TRUE);
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("/full/path/to/my/plugin.php");
?>
1 голос
/ 30 декабря 2010
  1. Скопировать плагин в /wp-content/plugins/ (корневой каталог, если плагин всего один файл, в противном случае - подкаталог).
  2. Звоните activate_plugin('/full/path/to/your/plugin/php');
0 голосов
/ 12 июля 2010

Похоже, вы можете переключать плагины в базе данных: таблица wp_options -> поле option_name -> active_plugins.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...