WP/WC fehlendes Argument in der WooCommerce-Funktion

Lesezeit: 2 Minuten

Charlies Benutzeravatar
Charlie

Ich habe WordPress mit WooCommerce installiert und versuche, diesen Code zu verwenden, um einen Admin-Benutzer anzumelden:

if ( !is_user_logged_in() ) {
    $user = get_userdatabylogin( $username ); // get_user_by('login', $user_login);
    $id = $user->ID;

    wp_set_current_user( $id, $user->user_login );
    wp_set_auth_cookie( $id );
    do_action( 'wp_login', $user->user_login );
}

Aber es gibt diese Fehlermeldung zurück:

Warnung: Fehlendes Argument 2 für wc_maybe_store_user_agent() in plugins/woocommerce/includes/wc-core-functions.php in Zeile 1516

Ich habe versucht, mich online umzusehen, aber niemand scheint dieses Problem gehabt zu haben.

  • Ist das Problem behoben oder besteht das Problem weiterhin? Wenn es gelöst ist, sollten Sie hier eine Antwort posten.

    – Paratap Parashar

    8. Juni 2017 um 6:33 Uhr

  • Verwenden Sie nicht die get_userdatabylogin-Funktion, da sie von WP veraltet ist. Verwenden Sie stattdessen get_user_by().

    – Mukesh Panchal

    8. Juni 2017 um 9:21 Uhr

Benutzeravatar von mujuonly
mujunur

if (!is_user_logged_in()) {

    //determine WordPress user account to impersonate
    $user_login = 'guest';

    //get user ID
    $user = get_userdatabylogin($user_login); // below WP 3.3.0

    //$user =  get_user_by('login', $user_login); above or equals WP 3.3.0

    $user_id = $user->ID;

    //login
    wp_set_current_user($user_id, $user_login);
    wp_set_auth_cookie($user_id);
    do_action('wp_login', $user_login);
}

Es gibt einen solchen Haken in WooCommerce.

add_action( 'wp_login', 'wc_maybe_store_user_agent', 10, 2 );

Das “wc_maybe_store_user_agent” erwartet 2 Parameter. Wenn die Benutzer-ID nicht festgelegt ist, wird der von Ihnen erwähnte Fehler angezeigt. Testen Sie mein obiges Snippet

Die Funktion befindet sich in Zeile 1516 in plugins/woocommerce/includes/wc-core-functions.php

function wc_maybe_store_user_agent( $user_login, $user ) {
    if ( 'yes' === get_option( 'woocommerce_allow_tracking', 'no' ) && user_can( $user, 'manage_woocommerce' ) ) {
        $admin_user_agents   = array_filter( (array) get_option( 'woocommerce_tracker_ua', array() ) );
        $admin_user_agents[] = wc_get_user_agent();
        update_option( 'woocommerce_tracker_ua', array_unique( $admin_user_agents ) );
    }
}
add_action( 'wp_login', 'wc_maybe_store_user_agent', 10, 2 );

  • Ja danke dir. Du hast vollkommen recht, 2 Argumente – eines fehlt

    – Vincent Guesné

    24. Januar 2019 um 21:52 Uhr

  • Gut. . . .

    – melwin

    25. Februar 2019 um 10:19 Uhr

Sie haben einen Parameter übersehen. Versuche dies.

do_action( 'wp_login', $user->user_login, $user );

Quelle: https://developer.wordpress.org/reference/hooks/wp_login/

  • es scheint sich nicht anzumelden

    – Charlie

    12. Mai 2017 um 9:39 Uhr

  • Hast du eine Idee, was die Anmeldung verhindern könnte?

    – Charlie

    12. Mai 2017 um 12:00 Uhr

  • @charlie, welche Funktion oder wie ist der gesamte Code aufgebaut? wie nennst du diese?

    – Reigel Gallarde

    10. Juni 2017 um 11:38 Uhr

  • genau das hat bei mir gefehlt!

    – Jay Pagnis

    12. September 2017 um 18:52 Uhr

1391430cookie-checkWP/WC fehlendes Argument in der WooCommerce-Funktion

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy