WooCommerce Admin-Bestellung – Führen Sie nur eine Aktion aus, wenn der Benutzer geladen ist

Ich verwende dieses Plugin , um Benutzer zu wechseln. Ich habe ein Snippet gefunden, mit dem Sie den Benutzer auf der WooCommerce Admin-Bestellseite wechseln können, was sehr hilfreich ist.

add_action( 'woocommerce_admin_order_data_after_order_details', 'ccef_order_switch_to', 99 ); /** * Add a switch to user link on the order details. * * @param object $order The WC Order that we're working with. */ function ccef_order_switch_to( $order ) { $user_switching = $GLOBALS['user_switching']; if ( $user_switching ) { $user = get_user_by( 'id', $order->get_user_id() ); $switch_link = $user_switching::maybe_switch_url( $user ); if ( $switch_link ) { echo 'Switch To'; } } } 

Was ich versuche herauszufinden .., aber ich habe keine Ahnung wie, ist; Führen Sie diese Aktion nur aus, wenn bereits ein Benutzer erstellt / geladen wurde. Der Grund dafür ist, dass, wenn kein Benutzer geladen ist, das Laden der Seite bis zum Auswählen eines Benutzers gestoppt wird. Wir erstellen Benutzer im laufenden Betrieb, wenn Admin-Aufträge ausgeführt werden. Dieses Snippet bricht Dinge, wenn Sie keinen Benutzer wechseln müssen zu.

Die Frage ist im Wesentlichen: Gibt es eine Möglichkeit, die Aktion nur auszuführen, wenn eine Benutzer-ID geladen ist?

Danke Nik

Solutions Collecting From Web of "WooCommerce Admin-Bestellung – Führen Sie nur eine Aktion aus, wenn der Benutzer geladen ist"

Eine Möglichkeit, dies zu tun, ist mit get_current_user() überprüfen und zu überprüfen, ob etwas zurückgeben, wenn ja, den Code ausführen. Wie im folgenden Beispiel:

 add_action( 'woocommerce_admin_order_data_after_order_details', 'ccef_order_switch_to', 99 ); /** * Add a switch to user link on the order details. * * @param object $order The WC Order that we're working with. */ function ccef_order_switch_to( $order ) { $current_user = wp_get_current_user(); $user_switching = $GLOBALS['user_switching']; if ( $user_switching && $current_user ) { $user = get_user_by( 'id', $order->get_user_id() ); $switch_link = ''; // Only try to switch if a $user was set. if( $user ) { $switch_link = $user_switching::maybe_switch_url( $user ); } if ( $switch_link ) { echo 'Switch To'; } } }