【问题标题】:WP/WC missing argument in WooCommerce FunctionWooCommerce 函数中的 WP/WC 缺少参数
【发布时间】:2017-10-11 13:36:36
【问题描述】:

我安装了带有 WooCommerce 的 Wordpress,我正在尝试使用此代码登录管理员用户:

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 );
}

但它正在返回此错误消息:

警告:缺少 wc_maybe_store_user_agent() 的参数 2 插件/woocommerce/includes/wc-core-functions.php 在第 1516 行

我已经尝试在网上四处寻找,但似乎没有人遇到过这个问题。

【问题讨论】:

  • 问题已解决还是您仍然面临问题?如果解决了,您应该在此处发布答案。
  • 不要使用 get_userdatabylogin 函数,因为它已被 WP 弃用。请改用 get_user_by()。

标签: php wordpress woocommerce wordpress-hook


【解决方案1】:

你错过了一个参数。试试这个。

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

来源:https://developer.wordpress.org/reference/hooks/wp_login/

【讨论】:

  • 好像没有登录
  • 您有什么想法可以阻止它登录吗?
  • @charlie,什么函数或整个代码是如何构造的?你怎么称呼这些?
  • 正是我的案例中缺少的东西!
【解决方案2】:
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);
}

WooCommerce 中有这样的钩子。

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

“wc_maybe_store_user_agent”需要 2 个参数。如果未设置用户 ID,它将显示您提到的错误。 在上面测试我的sn-p

函数位于 plugins/woocommerce/includes/wc-core-functions.php 的第 1516 行

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 );

【讨论】:

  • 是的,谢谢。你是完全正确的,2 个论点 - 一个缺失
  • 好一个。 . . .
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-22
  • 2011-10-15
  • 2013-12-27
  • 1970-01-01
  • 1970-01-01
  • 2020-06-17
相关资源
最近更新 更多