web-dev-qa-db-fra.com

Quelle fonction API WordPress répertorie les plugins actifs/inactifs?

Après avoir vu des milliers de fonctions API utiles dans le noyau de WordPress, je suis surpris de découvrir qu’il n’existe pas de fonction répertoriant les plug-ins actifs. Je ne vous connais pas mais je suis assez surpris de cela.

Je me demandais s'il y avait une raison pour rater ça? Si oui, j'aimerais bien le savoir.

Et, si vous connaissez un extrait PHP susceptible de vous donner une liste des plugins actifs (de la même manière qu'un get_post_types('','names'); fait pour les CPT ou get_taxonomies('','names'); pour les CT), je l'apprécierais si vous fournissez le code.

5
Average Joe

wp_get_active_and_valid_plugins()

get_plugins()

et get_option('active_plugins')

6
onetrickpony

Il existe plusieurs WordPress Apis pour obtenir une liste de plugins comme OTP énumérés dans sa réponse.

get_plugins() : Vérifiez le répertoire des plugins et récupérez tous les fichiers de plugins avec les données du plugin. Retourne un tableau. Remarque: Ne fonctionne que du côté administrateur

Exemple:

function list_the_plugins() {
    $plugins = get_plugins();
        foreach ( $plugins as $plugin ) {
        var_dump( $plugin );
    }

Résultats:

array
  'Name' => string 'WP Coda Slider' (length=14)
  'PluginURI' => string 'http://c3mdigital.com/wp-coda-slider/' (length=37)
  'Version' => string '0.3.2' (length=5)
  'Description' => string 'Add a jQuery Coda slider to any WordPress post or page' (length=54)
  'Author' => string 'c3mdigital' (length=10)
  'AuthorURI' => string 'http://c3mdigital.com/' (length=22)
  'TextDomain' => string '' (length=0)
  'DomainPath' => string '' (length=0)
  'Network' => boolean false
  'Title' => string 'WP Coda Slider' (length=14)
  'AuthorName' => string 'c3mdigital' (length=10)

get_option( 'active_plugins' ) Renvoie le chemin relatif à wp-content/plugins du fichier plugin:

Exemple:

function list_the_plugins() {
    $plugins = get_option ( 'active_plugins', array () );
    foreach ( $plugins as $plugin ) {
        echo "<li>$plugin</li>";
    }
}

Résultats:

  • debug-bar-extender/debug-bar-extender.php
  • debug-bar/debug-bar.php
  • log-deprecated-notice/log-deprecated-notices.php
  • manage-post-schedule/manage-post-schedule.php
  • wp-coda-slider/wpcodaslider.php

Autres fonctions de l'API liées au statut du plugin:

8
Chris_O