在函数.php上获取用户自定义字段值

时间:2018-10-25 作者:Arthur

我在函数中创建了一个函数。php,它在注册时发送一封包含用户信息的电子邮件。我成功获取ID,但无法获取自定义字段。。。我只能获得以下信息:-ID-user\\u login-user\\u pass-user\\u nicename-user\\u email-user\\u url-user\\u registered-display\\u name

我无法获取这些用户元,如first\\u name或last\\u name。我不明白为什么。。。

有人知道我怎么做吗?在我的情况下,我的自定义字段是“code\\u postal”。

我向您展示我所做的:

function mailInscriptionSecteurRhone( $user_ID ) {
    $headers = array(\'Content-Type: text/html; charset=UTF-8\');
    $candidat = get_userdata( $user_ID );
    $codePostalCandidat = get_field(\'code_postal\', \'user_\' . $user_ID );
    wp_mail( \'[email protected]\', \'Test\', $codePostalCandidat, $headers );
}
add_action( \'user_register\', \'mailInscriptionSecteurRhone\', 1 );
提前感谢您的帮助:-)

enter image description here

3 个回复
SO网友:Friss

EDIT

我认为@dboris给出的解决方案可能有效。或者,您可以尝试在用户注册后挂接您的电子邮件发送,如下所示

global $uID; //to keep the value to reuse it later, null at this step

function mailInscriptionSecteurRhone() {
global $uID;
$user_ID = $uID;
    $headers = array(\'Content-Type: text/html; charset=UTF-8\');
    $candidat = get_userdata( $user_ID );
    $codePostalCandidat = get_field(\'code_postal\', \'user_\' . $user_ID );
    wp_mail( \'[email protected]\', \'Test\', $codePostalCandidat, $headers );
}

function trigger_mailInscriptionSecteurRhone($user_ID)
{
global $uID;
$uID = $user_ID;
   add_action( \'init\', \'mailInscriptionSecteurRhone\', 10 );
}
add_action( \'user_register\', \'trigger_mailInscriptionSecteurRhone\', 10,1 );
我们没有直接发送包含“not ready”数据的电子邮件,而是触发下一个init钩子来完成此操作。我们可以通过使用全局变量来保持用户id。我没有测试这个解决方案,这是一个建议。

End edit

好的,可能在加载acf之前触发了user\\u register挂钩(根据您的屏幕截图,您使用acf)

那么,您是否尝试过这样获取\\u user\\u meta?

$codePostalCandidat = get_user_meta($user_ID,\'code_postal\',true);

SO网友:djboris

我相信这个动作是在用户元保存之前触发的。尝试使用$_POST 变量来访问所需的信息,如下所示:$first_name = $_POST[\'first_name\']; 对于ACF自定义字段,它们位于$_POST[\'acf\'], 但用它们的键建立索引。通过在仪表板的字段组视图中启用字段,可以找到字段的键:

enter image description here

然后这样称呼它:$_POST[\'acf\'][\'field_5bd2cb1f779bf\']

目前,除了使用一些自定义函数(如this one.

SO网友:Arthur

@dboris@fris非常感谢你的回答和你为我花费的时间。

@德博里斯,你解决了我的问题。美元帖子上的var\\u转储是个好主意。我用这种方法找到了相关领域。

var\\u转储的结果($\\u Post):

array(34) { ["sexe"]=> string(5) "Homme" ["user_login-115"]=> string(7) "TestTwo" ["last_name-115"]=> string(7) "TestTwo" ["first_name-115"]=> string(7) "TestTwo" ["nationalite-115"]=> string(7) "TestTwo" ["jour_naissance-115"]=> string(2) "12" ["mois_naissance"]=> string(4) "Juin" ["annee_naissance-115"]=> string(4) "1993" ["travailler-entreprise-proprete"]=> string(24) "Oui, je suis intéressé" ["annees_experience"]=> string(13) "De 0 à 5 ans" ["adresse-115"]=> string(11) "1 rue de la" ["code_postal-115"]=> string(5) "69001" ["ville-115"]=> string(6) "Lyon 1" ["user_email-115"]=> string(10) "[email protected]" ["email_contact-115"]=> string(10) "[email protected]" ["phone_number-115"]=> string(10) "0627361762" ["permis_conduire"]=> string(3) "Oui" ["vehicule"]=> string(3) "Oui" ["type_emploi"]=> string(32) "Gardien de résidence étudiante" ["date_inscription-115"]=> string(10) "28/10/2018" ["situation-couple"]=> string(12) "Célibataire" ["enfants-charge-115"]=> string(0) "" ["animaux"]=> string(3) "Oui" ["situation_actuelle"]=> string(0) "" ["experiences_dans_profession"]=> string(0) "" ["parcours_et_formation"]=> string(0) "" ["user_password-115"]=> string(10) "Ar12041997" ["confirm_user_password-115"]=> string(10) "Ar12041997" ["fichier_cv-115"]=> string(0) "" ["form_id"]=> string(3) "115" ["timestamp"]=> string(10) "1540740815" ["request"]=> string(0) "" ["_wpnonce"]=> string(10) "524409c715" ["_wp_http_referer"]=> string(37) "/gardienrecrute/inscription-candidat/" }

你救了我的命!

结束

相关推荐

Function on unction.php出现问题

我对函数上的一些函数有问题。php。我想使用get\\u tems\\u by(“slug”,$slug,“category”);但它在函数对函数的内部不起作用。php。当我按ID更改slug并给出一个随机ID时,它起作用了。我确信鼻涕虫是存在的。我也尝试过:add_action( \'init\', \'wpse27111_tester\', 999 ); function wpse27111_tester() { $term = get_term_by(\'slug\'