7
votes

Installation et activation programmatismatique Plugins WordPress

est-il possible, d'une manière ou d'une autre d'installer de manière programmable des plug-ins? Donc, je peux envoyer mon client un fichier qu'ils décompressent, accédez à un fichier InstallSplugins.php et qui installe + les active? Seul moyen que j'ai trouvé pour faire cela est vraiment rancide lowlevel; J'espère que quelqu'un ici connaît de meilleures méthodes.


1 commentaires

Avez-vous lu le code WordPress? Il peut être très utile de vérifier ce que fait WordPress, lorsque vous cliquez sur le bouton "Installer".


4 Réponses :


-1
votes

On dirait que vous pouvez basculer des plugins dans la base de données: Tableau WP_OPTIONS -> Option de champ -> Active_plugins.


2 commentaires

Upvote gabrielk. Non recommandé; esp. S'il y a une magie dans les crochets d'activation. Codex.WordPress.org/function_reference/register_activation_h ook


@Bretweinraub: Ma réponse a plus de 4 ans et l'OP a accepté une réponse.



1
votes
  1. Copiez le plugin sur / wp-contenu / plugins / (Root Dir si le plugin n'est qu'un seul fichier, sinon un subdir).
  2. appel activate_plugin ('/ complet / chemin / à / votre / plugin / php');

0 commentaires

13
votes

Mise à jour

Aujourd'hui, j'utilise une boucle de coquille avec wp-cli à installer et activer les plugins

réponse originale

pour activer, i Utilisez une variante de cela. Supposons que j'avais trois plugins que je voulais activer ("Cformes", "W3-Total-Cache", "WordPress-SEO"). La convention est que leur répertoire et leur plugin .php fichier .php sont le même nom: xxx


4 commentaires

Désolé pour la réponse tardive, mais vous avez répondu!


'wp-contenu / plugins / {$ plugin} .php'; devrait être "Contenu WP / plugins / {$ plugin} .php";


Tacheté et fixe. Merci!


Certains plugins utilisent un nom différent pour le fichier PHP principal du nom du plug-in. Quelqu'un sait-il comment extraire ou détecter le nom de fichier PHP principal des plugins?



1
votes

Voici un script complet; Mettez dans WP-Admin, donnez-lui un suffixe .php et frappez-le via 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");
?>


0 commentaires