web-dev-qa-db-fra.com

Comment vérifier si le commerce est activé dans le thème

Je crée un thème avec woocommerce qui a les caractéristiques suivantes:

    <ul>
              <li>
                     <?php if ( is_user_logged_in() ) { ?>
<a href="<?php echo get_permalink( get_option('woocommerce_myaccount_page_id') ); ?>" title="<?php _e('My Account','woothemes'); ?>"><?php _e('My Account','woothemes'); ?></a>
<?php }
else { ?>
<a href="<?php echo get_permalink( get_option('woocommerce_myaccount_page_id') ); ?>" title="<?php _e('Sign-in','woothemes'); ?>"><?php _e('Sign-in','woothemes'); ?></a>
<?php } ?>
                </li>
                                                <li><a href="<?php echo get_option('home').'/'.'my-lists/'?>" title="My Wishlist">Wishlist</a></li>

<!--                <li><a href="#" title="Email updates">Email Updates</a></li>
-->                <li> <?php global $woocommerce; ?>

<a id="header-ShoppingCart" class="cart-contents" href="<?php echo $woocommerce->cart->get_cart_url(); ?>" title="<?php _e('View your shopping cart', 'woothemes'); ?>"><?php echo sprintf(_n('%d item', 'My Bag (%d)', $woocommerce->cart->cart_contents_count, 'woothemes'), $woocommerce->cart->cart_contents_count);?> - <span id="header-cartCount"><?php echo $woocommerce->cart->get_cart_total(); ?></span></a>

           </li>

            </ul>

Cependant, cela casse le site si le plugin woocommerce n'est pas activé. Comment puis-je vérifier si le plugin woocommerce est activé?

4
Oudin

Vous pouvez vérifier si la classe 'WooCommerce' existe, puis exécutez le code nécessitant WooCommerce.

<?php
if ( class_exists( 'WooCommerce' ) ) {
  // code that requires WooCommerce
} else {
  // you don't appear to have WooCommerce activated
}
?>
17
hereswhatidid

Pour vérifier si woocommerce ou un autre plug-in est actif, collez le code suivant sur le modèle où vous souhaitez afficher le message.

if ( in_array( 'woocommerce/woocommerce.php', apply_filters( 'active_plugins', get_option( 'active_plugins' ) ) ) ) {
    echo 'WooCommerce is active.';
} else {
    echo 'WooCommerce is not Active.';
}
9
Aamer Shahzad

Utilisez le code suivant. Cela fonctionnera également sur plusieurs sites.

include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
if(is_plugin_active( 'woocommerce/woocommerce.php')) return;
1
Arshid KK