it-swarm.com.ru

Как проверить, активирован ли woocommerce в теме

Я создаю тему с woocommerce, которая имеет следующее:

    <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>

Однако это нарушает работу сайта, если плагин woocommerce не активирован. Как я могу проверить, активирован ли плагин woocommerce?

4
Oudin

Вы можете проверить, существует ли класс 'WooCommerce', а затем запустить код, который требует WooCommerce.

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

Чтобы проверить, активен ли woocommerce или другой плагин, вставьте следующий код в шаблон, где вы хотите отобразить сообщение.

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

Используйте следующий код. Он также будет работать на мульти-сайте.

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