web-dev-qa-db-fra.com

Comment savoir si le Photon de Jetpack est actif?

Il existe plusieurs façons d'identifier si un plugin est actif ( en voici un) mais comment pouvons-nous savoir si un composant JetPack spécifique est actif, par exemple Photon ?

5
torinagrippa

Nous venons de valider une nouvelle fonction dans Jetpack Trunk, qui devrait être activée dans la prochaine version, Jetpack::is_module_active() -

http://plugins.trac.wordpress.org/changeset/716884

Ensuite, vous pouvez simplement appeler:

 if (class_exists ('Jetpack') && Jetpack :: is_module_active ('contact-form')) {} 

Ou du moins, vous aurez une fois la prochaine version publiée, et l'utilisateur a leur Jetpack mis à jour. :) Si vous souhaitez préserver la compatibilité ascendante, vous pouvez simplement faire:

 if (class_exists ('Jetpack') && in_array ('contact-form', Jetpack :: get_active_modules ()) {} 

C’est une façon un peu plus ordonnée que d’interroger directement l’option.

11
George Stephanis

Vérification de la valeur de l’option jetpack_active_modules.

database option value

La recherche de photon dans wp_options est la façon dont j'ai trouvé le option_name.


Ce qui suit imprime l’option sous forme d’avis d’administrateur:

add_action( 'admin_notices', 'wpse_75103_active_jetpack_modules' );

function wpse_75103_active_jetpack_modules() 
{
    if( !current_user_can( 'delete_users' ) )
        return;

    $jetp = get_option( 'jetpack_active_modules' );

    $photon_active = ( in_array( 'photon', $jetp ) ) ? 'is' : 'is not';
    echo '<h1>Photon ' . $photon_active . ' active</h1>';

    echo '<h2>All JetPack Options</h2>';
    echo '<pre>' . print_r( $jetp, true ) . '</pre>';
}

Voici le résultat avec tous les modules activés.
Les numéros de clé sont dans l’ordre dans lequel les modules ont été activés et ne doivent pas être utilisés comme référence .
( dans une installation d'hôte local )

Array
(
    [0] => vaultpress
    [1] => photon
    [3] => notes
    [5] => publicize
    [7] => stats
    [9] => comments
    [11] => subscriptions
    [13] => post-by-email
    [15] => carousel
    [17] => sharedaddy
    [19] => after-the-deadline
    [21] => infinite-scroll
    [23] => enhanced-distribution
    [25] => json-api
    [27] => mobile-Push
    [29] => widgets
    [31] => latex
    [33] => gravatar-hovercards
    [35] => contact-form
    [37] => minileven
    [39] => custom-css
    [41] => shortcodes
    [43] => shortlinks
)
5
brasofilo