2016-01-28 2 views
0

У меня есть следующие функции в моем файле functions.php: -Wordpress - обновление функции Профиль пользователя

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»

Любые идеи, почему?

+0

@Sumit - У пользователей нет идеи, правда? – nsilva

ответ

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'], в противном случае он будет обновлять независимо от к какой странице обращаются.