it-swarm.com.de

Bitte erläutern Sie, wie diese Haken funktionieren

Ich habe über Hooks und Aktionen gelesen und weiß, dass, wenn wir do_action('some_hook') sehen, dies bedeutet, dass im functions.php eines Themas irgendwo add_action('some_hook', function() {...}); oder function some_hook() vorhanden ist.

Aber was ist es?! :

Aus woocommerce/includes/class-wc-checkout.php Zeile # 943:

public function process_checkout() {
    try {
        /////////////
        do_action( 'woocommerce_before_checkout_process' ); <----!!!

        if ( WC()->cart->is_empty() ) {
            throw new Exception( sprintf( __( 'Sorry, your session has expired. <a href="%s" class="wc-backward">Return to shop</a>', 'woocommerce' ), esc_url( wc_get_page_permalink( 'shop' ) ) ) );
        }

        do_action( 'woocommerce_checkout_process' ); <-----!!!

Ich kann woocommerce_checkout_process und woocommerce_before_checkout_process nirgends in Dateien finden! Was machen Sie?

7
Zhi V

Es ist möglich, dass Aktionshaken bereitgestellt werden, ohne dass sie verwendet werden, was hier passiert.

woocommerce_before_checkout_process und woocommerce_checkout_process sind von WooCommerce bereitgestellte Hooks, aber WooCommerce selbst ordnet keinen dieser Hooks Callback-Funktionen zu. Sie werden bereitgestellt, damit Plugins und Themes zum Zeitpunkt des Auslösens der entsprechenden Hooks Code ausführen können.

Wenn Sie beispielsweise eine Funktion an den Hook woocommerce_checkout_process anhängen möchten, fügen Sie Ihrem Theme oder Plugin den folgenden Code hinzu:

add_action( 'woocommerce_checkout_process', 'wpse_woocommerce_checkout_process' );
function wpse_woocommerce_checkout_process() {
    // Do something...
}

Dieser Code wird ausgeführt, wenn die aufrufende Zeile do_action( 'woocommerce_checkout_process' ); in WooCommerce ausgeführt wird.

14
Dave Romsey