web-dev-qa-db-fra.com

WooCommerce - Appel de la fonction non définie is_woocommerce ()

nouveau ici et pour le développement de plugins wordpress, allez-y doucement sur moi: D

Quoi qu'il en soit, j'essaie de créer un nouveau plugin et j'obtiens une erreur 500. J'ai changé WP_DEBUG dans config.php en true afin de voir la cause de l'erreur 500 et j'ai reçu ce message:

Fatal error: Uncaught Error: Call to undefined function is_woocommerce() in...

C'est mon code actuellement:

<?php
/**
 * Plugin Name: 
 * Plugin URI: 
 * Description: 
 * Author: 
 * Author URI: 
 * Version: 1.0
 * Text Domain: 
 *
 * Copyright: (c) 2018
 *
 * License: 
 * License URI: 
 *
 * @author    
 * @copyright Copyright (c) 2018
 * @license   
 *
 */
//
defined( 'ABSPATH' ) or exit;
if (function_exists(is_woocommerce())) {
    echo "test: ".is_woocommerce();
} else {
    echo "test: Function does not exists!";
}

Si vous avez besoin de plus d'informations, dites-le-moi et je modifierai la question. L'aide sera appréciée, merci!

1
Omer

Si vous voulez vérifier la fonction/classe, etc. d'un plugin à partir d'un autre plugin, il est préférable d'utiliser un hook tel que plugins_loaded .

Sur cette base, votre CODE Plugin ressemblera à:

<?php
/*
Plugin Name: YOUR PLUGIN NAME
*/

defined( 'ABSPATH' ) or exit;

add_action( 'plugins_loaded', 'plugin_prefix_woocommerce_check' );
    function plugin_prefix_woocommerce_check() {
    if( function_exists( 'is_woocommerce' ) ) { 
        add_action( "wp_footer", "wpse_woocommerce_exists" );
    }   
    else {
        add_action( "wp_footer", "wpse_woocommerce_doesnt_exist" );
    }   
}   

function wpse_woocommerce_exists() {
    echo "<h1>WooCommerce Exists!</h1>";
}   

function wpse_woocommerce_doesnt_exist() {
    echo "<h1>WooCommerce Doesn't Exists!</h1>";
}

La vérification directe des autres fonctions du plug-in est souvent source d'erreur, car WordPress risque de ne pas être chargé avant que votre CODE ne soit exécuté. Toutefois, lorsque WordPress est terminé, le hook plugins_loaded est activé.

Consultez Guide de développement de plugin pour plus d’informations sur le développement d’un plugin WordPress.

2
Nazaria