Показать и сохранить URL профиля пользователя социальной сети WordPress при оформлении заказа WooCommerce - PullRequest
0 голосов
/ 11 октября 2019

Я пытаюсь обновить этот полезный фрагмент кода от bboomer (https://businessbloomer.com/woocommerce-display-save-wp-user-field-e-g-user_url-checkout/)), чтобы показать и сохранить страницу профиля социальной сети пользователя при оформлении заказа на woocommerce. URL профиля сохраняется в метаданных пользователя при входе в систему с помощью подключаемого модуля социальной регистрации ибыло бы замечательно, если бы я мог заставить его отображаться на странице оформления заказа. Независимо от того, что я делаю, я не могу заставить его работать.

Не знаю, будет ли это полезным, но с помощью метки JSM Show User Meta я вижуследующий в профиле пользователя, когда пользователь входит в систему с Твиттером:

ПОКАЗАТЬ ПОЛЬЗОВАТЕЛЯ META

КЛЮЧ

_wc_social_login_twitter_profile

ЗНАЧЕНИЕ

array (
  0 => 
  array (
    'identifier' => 720540,
'web_site_url' => NULL,
'profile_url' => 'http://twitter.com/usersprofilepage',
'photo_url' => 'http://pbs.twimg.com/profile_images/710794325690464512/pvqrktNk.jpg',
'display_name' => 'john doe',
'description' => '',
'first_name' => 'John',
'last_name' => 'Doe',
'gender' => NULL,
'language' => NULL,
'age' => NULL,
'birth_day' => NULL,
'birth_month' => NULL,
'birth_year' => NULL,
'email' => '',
'email_verified' => '',
'phone' => NULL,
'address' => NULL,
'country' => NULL,
'region' => 'London',
'city' => NULL,
'zip' => NULL,
'job_title' => NULL,
'organization_name' => NULL,
  ),
)

Вот где я 'm at.

// ------------------------
// 1. Display field @ Checkout

add_action( 'woocommerce_after_checkout_billing_form',         
'bbloomer_add_user_field_to_checkout' );

function bbloomer_add_user_field_to_checkout( $checkout ) {

$current_user = wp_get_current_user();
$saved_url->profile_url;

woocommerce_form_field( 'profile_url', array(        
'type' => 'text',        
'class' => array('profile_url form-row-wide'),        
'label' => __('Profile URL'),        
'placeholder' => __('http://socialnetwork.com/yourprofile'),        
'required' => false
), 
$saved_url ); 

}


// ------------------------
// 2. Save Field Into User Meta

add_action( 'woocommerce_checkout_update_user_meta', 
'bbloomer_checkout_field_update_user_meta' );

function bbloomer_checkout_field_update_user_meta( $user_id ) { 

if ( $user_id && $_POST['profile_url'] ) {

// once again, use "profile_url"

   $args = array(
                'ID' => $user_id,
                'profile_url' => esc_attr( $_POST['profile_url'] )
        );      

    wp_update_user( $args );
}

}

Пожалуйста, дайте мне знать, где я иду не так!

Если возможно, чтобы это работало, что мне нужно сделать, чтобы изменить код, чтобы онПоказывает и сохраняет URL профиля независимо от того, с какой социальной учетной записью они пользуются, например, Twitter, Facebook, LinkedIn или Instagram.

Большое спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...