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



我的函数中有以下函数.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"

知道为什么吗?

不确定它是否被认为是"最佳实践",但我设法通过将上述内容更改为:-

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'],否则无论访问哪个页面,它都会更新。

最新更新