Installare automaticamente i plugin inclusi durante l'attivazione del tema?

18 lug 2013, 18:24:24
Visualizzazioni: 16K
Voti: 4

Sto valutando l'uso di http://tgmpluginactivation.com/ per attivare i plugin richiesti per il mio tema personalizzato durante la fase di attivazione del tema.

Da quello che ho capito, questa classe attiva automaticamente i plugin, ma non installa automaticamente i plugin che ho incluso nel mio tema.

Qualcuno sa se è possibile installare automaticamente i plugin durante l'attivazione del tema? Preferibilmente in un modo che possa ancora utilizzare TGM?

3
Commenti

Come stai raggruppando questi plugin? Sono inclusi nel download con le istruzioni per aggiungere il tema a wp-content/themes oppure li stai includendo nella directory del tema?

JPollock JPollock
19 lug 2013 05:12:34

@JPollock sono impacchettati con il tema come file zip separati. TGM è configurato per cercare in quella directory durante l'installazione. Tutto funziona correttamente quando l'utente clicca manualmente sul link Installa plugin dopo l'attivazione del tema, ma stavo cercando un modo automatizzato per installare i plugin senza alcuna azione richiesta all'utente.

teamcrisis teamcrisis
19 lug 2013 13:06:27
Tutte le risposte alla domanda 2
4

Risposta modificata:

TMG è un popolarissimo installatore automatico di plugin per WordPress e molti autori di temi Premium lo utilizzano. Puoi ottenere la classe php qui https://github.com/thomasgriffin/TGM-Plugin-Activation. Inoltre, quando lo scaricherai, otterrai un file php chiamato example.php. Devi semplicemente includere quel file example.php nel tuo file function.php e puoi modificare quel file per avere l'installazione automatica dei plugin richiesti per il tuo tema.

Devi fare qualcosa di simile a questo nel file example.php

// Questo è un esempio di come includere un plugin pre-confezionato con un tema.
        array(
            'name'               => 'WpMania Slider', // Il nome del plugin.
            'slug'               => 'WpmSlider', // Lo slug del plugin (tipicamente il nome della cartella).
            'source'             => get_template_directory_uri() . '/assets/plugins/plugins/WpmSlider.zip', // La sorgente del plugin.
            'required'           => true, // Se false, il plugin è solo 'consigliato' invece che obbligatorio.
            'version'            => '', // Es. 1.0.0. Se impostato, il plugin attivo deve essere di questa versione o superiore.
            'force_activation'   => true, // Se true, il plugin viene attivato all'attivazione del tema e non può essere disattivato finché non si cambia tema.
            'force_deactivation' => true, // Se true, il plugin viene disattivato al cambio di tema, utile per plugin specifici del tema.
            'external_url'       => '', // Se impostato, sovrascrive l'URL API predefinito e punta a un URL esterno.
        ),

Grazie Sabbir

11 apr 2014 13:59:28
Commenti

Dove dovrebbe essere posizionato quell'array? Non tutti conoscono TMG, e cosa significa?

Tom J Nowell Tom J Nowell
11 apr 2014 14:07:11

TMG è un popolarissimo installer automatico di plugin per WordPress e molti autori di temi Premium lo utilizzano. Puoi ottenere la classe php qui https://github.com/thomasgriffin/TGM-Plugin-Activation. Inoltre, quando lo scaricherai, otterrai un file php chiamato example.php. Devi semplicemente includere quel file example.php nel tuo file function.php e potrai modificare quel file per avere l'installazione automatica dei plugin richiesti per il tuo tema.

Sabbir H Sabbir H
11 apr 2014 18:04:59

Ottimo, dovresti modificare la tua risposta per includere queste informazioni

Tom J Nowell Tom J Nowell
11 apr 2014 18:12:11

Ho aggiornato la risposta su richiesta

Sabbir H Sabbir H
12 apr 2014 12:38:00
1

La funzione activate_plugin dovrebbe essere quella che stai cercando. Inseriscila in un'azione after_setup_theme.

Utilizzo

activate_plugin ( $plugin, $redirect = '', $network_wide = false, $silent = false )

La pagina della documentazione per la funzione activate_plugin non sembra troppo promettente, e non ho idea se funzionerà effettivamente, dato che non l'ho mai usata. Immagino che valga la pena provarci?

Immagino che attivare plugin quando un tema viene attivato potrebbe potenzialmente causare caos e rompere i siti web.

Riferimenti

26 lug 2013 23:42:01
Commenti

Sicuramente rendere obbligatorio un plugin può indebolire il tuo tema, ecco perché dovrebbe esserci un fallback. Nella mia risposta precedente ti ho consigliato di usare il plugin TMG. Quindi c'è un'opzione per rendere un plugin richiesto (per favore controlla la mia risposta sopra come esempio). Se imposti semplicemente "required" su "false" puoi superare quella situazione.

Sabbir H Sabbir H
14 apr 2014 01:35:55