我在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'
任何想法为什么?
答案 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']
,否则无论正在访问哪个页面,都会更新。