Wordpress - 更新用户配置文件功能

时间:2016-01-28 15:59:52

标签: wordpress function

我在functions.php文件中有以下功能: -

function apply_for_job() {

    $job_id = $_GET['job_id'];

    $user_id = get_current_user_id();
    $prev_value = get_field('applied_jobs');

    update_user_meta($user_id, 'applied_jobs', $job_id);


}
add_filter('init' ,'apply_for_job');

加载时:http://distinct.dev/apply_for_job/?job_id=323

这会更新“applied_jobs”'字段:323符合预期。

然而,当我进入我的用户个人资料页面时,它会将值设置为' NULL'

任何想法为什么?

1 个答案:

答案 0 :(得分:0)

不确定它是否被视为“最佳做法”,但我设法通过将上述更改为: -

来解决此问题
function apply_for_job() {

    if (!empty($_GET['job_id'])) {
        $job_id = $_GET['job_id'];
    }

    $user_id = get_current_user_id();

    update_user_meta($user_id, 'applied_jobs', $job_id);


}
if (!empty($_GET['job_id'])) {
add_filter('init' ,'apply_for_job');
}

在过滤器和if (!empty($_GET['job_id'])) {周围添加$_GET['job_id'],否则无论正在访问哪个页面,都会更新。