Come aggiungere plugin a un tema WordPress?

2 set 2011, 08:35:03
Visualizzazioni: 19K
Voti: 6

Ho intenzione di sviluppare temi WordPress commercialmente.. Vorrei conoscere il metodo più semplice per aggiungere plugin al mio tema WordPress che sto sviluppando.. Qualcuno può suggerirmi i passaggi base.. E mi servirebbero i metodi possibili che posso usare in modo efficace..

1
Commenti

possibile duplicato di Aggiungere Plugin al Tema Wordpress

Chip Bennett Chip Bennett
2 set 2011 15:40:22
Tutte le risposte alla domanda 2
2

Puoi sempre includere i file dei plugin nel tuo tema nel file functions.php. Ovviamente dovresti organizzarli in una struttura ragionevole per evitare che il tuo tema si appesantisca con i file e il codice :).

Puoi utilizzare un codice come questo (usato nel tema Carrington) per caricare tutti i plugin inclusi nella cartella "plugin" all'interno della cartella del tuo tema...

/**
 * Carica i plugin del tema
 * 
**/
function cfct_load_plugins() {
    $files = cfct_files(CFCT_PATH.'plugins');
    if (count($files)) {
        foreach ($files as $file) {
            if (file_exists(CFCT_PATH.'plugins/'.$file)) {
                include_once(CFCT_PATH.'plugins/'.$file);
            }
// supporto per child theme
            if (file_exists(STYLESHEETPATH.'/plugins/'.$file)) {
                include_once(STYLESHEETPATH.'/plugins/'.$file);
            }
        }
    }
}

/**
 * Ottieni una lista di file php all'interno di un percorso specificato e i file nei child theme corrispondenti
 * 
 * @param string $path Percorso della directory da cercare
 * @return array File all'interno della directory del percorso
 * 
**/
function cfct_files($path) {
    $files = apply_filters('cfct_files_'.$path, false);
    if ($files) {
        return $files;
    }
    $files = wp_cache_get('cfct_files_'.$path, 'cfct');
    if ($files) {
        return $files;
    }
    $files = array();
    $paths = array($path);
    if (STYLESHEETPATH.'/' != CFCT_PATH) {
        // carica i file del child theme
        $paths[] = STYLESHEETPATH.'/'.str_replace(CFCT_PATH, '', $path);
    }
    foreach ($paths as $path) {
        if (is_dir($path) && $handle = opendir($path)) {
            while (false !== ($file = readdir($handle))) {
                $path = trailingslashit($path);
                if (is_file($path.$file) && strtolower(substr($file, -4, 4)) == ".php") {
                    $files[] = $file;
                }
            }
            closedir($handle);
        }
    }
    $files = array_unique($files);
    wp_cache_set('cfct_files_'.$path, $files, 'cfct', 3600);
    return $files;
}

...poi utilizzi la funzione cfct_load_plugins(); durante l'inizializzazione del tema.

2 set 2011 10:35:47
Commenti

"durante l'inizializzazione del tema" <- come posso farlo?

Anh-Thi DINH Anh-Thi DINH
16 feb 2019 13:47:42

@Anh-ThiDINH Suggerisco di usare l'hook after_setup_theme https://codex.wordpress.org/Plugin_API/Action_Reference/after_setup_theme

Ján Bočínec Ján Bočínec
21 feb 2019 12:15:32
0

La soluzione più semplice è utilizzare i normali plugin di WordPress ^^. Scrivere un sistema di plugin specializzato per il tuo tema è completamente inutile, rende il tuo tema più gonfio e aumenta i costi di sviluppo e manutenzione. In questo caso, il principio KISS (Keep It Simple, Stupid) vince.
Saluti,
Hai

Un altro punto da considerare quando si sostituiscono i plugin con metodi personalizzati sarebbero gli aggiornamenti. Molti aggiornamenti dei plugin servono per risolvere problemi di sicurezza o per risolvere problemi causati dagli aggiornamenti di WordPress.

2 set 2011 09:22:53