IRDN
Estoy tratando de verificar si el complemento WooCommerce está activo y luego agregar algunas opciones al panel de opciones. pero este código no funciona bien.
¿Acaso alguien puede decirme que está mal? Gracias.
if( class_exists( 'WooCommerce' )) {//add options}
Pruebe lo siguiente en su lugar:
if ( in_array( 'woocommerce/woocommerce.php', apply_filters( 'active_plugins', get_option( 'active_plugins' ) ) ) ) {
// Yes, WooCommerce is enabled
} else {
// WooCommerce is NOT enabled!
}
-
muchas gracias funciona. y ¿podría decirme por qué ese código no funciona? todos los desarrolladores que veo usan eso y funciona de verdad.
– IRDN
25 de febrero de 2021 a las 9:01
-
Depende del contexto y de dónde estés usando el código… También ten cuidado cuando digas “Todos los desarrolladores…” ya que la mayoría de ellos no son realmente desarrolladores…
– LoicTheAztec
25 de febrero de 2021 a las 10:35
-
Esta respuesta es realmente genial porque funciona todo el tiempo, mientras que la clase existe de manera que solo funciona si Woocommerce ya está cargado.
– Stiegui
6 oct a las 18:49
Alternativamente, la función is_plugin_active
El método se puede usar para verificar si un complemento está activo.
if ( is_plugin_active( 'woocommerce/woocommerce.php' ) ) {
// woocommerce is active
} else {
// woocommerce is not active
}
Otro método documentado en WooCommerce es la siguiente opción.
/**
* Check if WooCommerce is activated
*/
if ( ! function_exists( 'is_woocommerce_activated' ) ) {
function is_woocommerce_activated() {
if ( class_exists( 'woocommerce' ) ) { return true; } else { return false; }
}
}