carloss
¿Es posible, de alguna manera, instalar complementos mediante programación? Entonces, ¿puedo enviarle a mi cliente un archivo que desempaquetan, ir a algún archivo installplugins.php y eso los instala y los activa? La única forma que encontré para hacer eso es realmente rancio de bajo nivel; Espero que alguien aquí conozca mejores métodos.
yuvilio
Actualizar
Hoy uso un shell loop con wp-cli para instalar y activar los complementos
Respuesta Original
Para activar, uso alguna variante de esto. supongamos que tenía tres complementos que quería activar (“cforms”, “w3-total-cache”, “wordpress-seo”). La convención es que su directorio y el archivo .php del complemento tengan el mismo nombre:
$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);
}
-
Perdón por la respuesta tardía, ¡pero respondiste!
– CarlosS
21 de agosto de 2011 a las 10:55
-
‘wp-content/plugins/{$plugin}.php’; debe ser “wp-content/plugins/{$plugin}.php”;
– hytest
27/10/2014 a las 14:53
-
Manchado y arreglado. ¡Gracias!
– yuvilio
27/10/2014 a las 14:55
-
Algunos complementos usan un nombre diferente para el archivo PHP principal del nombre del complemento. ¿Alguien sabe cómo extraer o detectar el nombre de archivo PHP principal de los complementos?
-Hans Desjarlais
22 de septiembre de 2020 a las 1:36
- Copiar complemento a
/wp-content/plugins/
(directorio raíz si el complemento es solo un archivo, de lo contrario, un subdirectorio). - Llamar
activate_plugin('/full/path/to/your/plugin/php');
Aquí hay un guión completo; coloque wp-admin, asígnele un sufijo .php y golpéelo a través de 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");
?>
Parece que puede alternar complementos en la base de datos: tabla wp_options -> campo option_name -> active_plugins.
¿Has leído el código de WordPress? Puede ser muy útil verificar qué está haciendo WordPress cuando hace clic en el botón “instalar”.
– Tomasz Wysocki
11 de julio de 2010 a las 5:34