php - WP/WC 在 WooCommerce 函数中缺少参数

标签 php wordpress woocommerce wordpress-hook

我安装了带有 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 );
}

但它返回此错误消息:

Warning: Missing argument 2 for wc_maybe_store_user_agent() in plugins/woocommerce/includes/wc-core-functions.php on line 1516

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

最佳答案

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 中有这样一个钩子(Hook)。

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

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

函数位于 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 );

关于php - WP/WC 在 WooCommerce 函数中缺少参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43934233/

相关文章:

javascript - 在表单中的 div 中提交 <select> 字段的值

css - 将样式添加到无序列表的不同部分,wordpress 小部件

wordpress - Woocommerce 获取数组中的产品标签

javascript - 数据表抛出无效的 JSON 响应

php - 如何在 Windows 上使用 composer 正确安装 Ratchet ?

wordpress - 如何使用产品 ID 隐藏产品简码 'woocommerce_shortcode_products_query' 中的产品

ajax - wordpress通过ajax加载页面内容

php - 如何在供应商名称后将自定义徽章添加到商店列表

php - 通过 WooCommerce 3+ 中的 Hook 更改产品价格

php - 查询 this=$value AND (this =$value1 OR $value2)