web-dev-qa-db-de.com

WooCommerce - Aufruf der undefinierten Funktion is_woocommerce ()

neu hier und zur Entwicklung von WordPress Plugins, schont mich: D

Auf jeden Fall versuche ich, ein neues Plugin zu erstellen, und es wird ein 500-Fehler angezeigt. Ich habe WP_DEBUG in config.php in true geändert, um zu sehen, was den 500-Fehler verursacht, und habe die folgende Meldung erhalten:

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

Dies ist derzeit mein Code:

<?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!";
}

Wenn Sie weitere Informationen benötigen, teilen Sie es mir mit und ich bearbeite die Frage. Hilfe wird geschätzt, danke!

1
Omer

Wenn Sie die Funktion/Klasse usw. eines Plugins von einem anderen Plugin aus überprüfen möchten, verwenden Sie am besten einen Haken wie plugins_loaded .

Darauf basierend sieht Ihr Plugin CODE folgendermaßen aus:

<?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>";
}

Das direkte Überprüfen anderer Plug-in-Funktionen führt häufig zu Fehlern, da WordPress möglicherweise nicht alle anderen Plug-ins lädt, bis Ihr CODE ausgeführt wird. Wenn WordPress fertig ist, wird der Hook plugins_loaded ausgelöst.

Weitere Informationen zum Entwickeln eines WordPress-Plugins finden Sie im Plugin Development Guide .

2
Nazaria