我在functions.php中有一个函数,如下所示: -
function favourite_job() {
if (!empty($_GET['job_fav'])) {
$job_id = $_GET['job_fav'];
$prev_id = get_field('favourite_jobs', 'user_'.get_current_user_id());
if($prev_id != '') {
$update_favourite = $prev_id .','.$job_id;
} else {
$update_favourite = $job_id;
}
}
$user_id = get_current_user_id();
update_user_meta($user_id, 'favourite_jobs', $update_favourite);
}
if (!empty($_GET['job_fav'])) {
add_filter('init' ,'favourite_job');
}
这基本上会为用户提供一个“最喜欢的工作”ID,这个ID工作正常。
在标记上,我有以下内容: -
<a href="favourite_job/?job_fav=<?php the_ID(); ?>"><div class="job-single-favourite icon-<?php echo $job_sector_html; ?>"></div></a>
加载单独的页面并运行该功能。我基本上想要在不离开当前页面的情况下运行此功能。
不确定是否需要重新加载当前页面...
基本上我打算做的是页面将获得所有喜欢的工作; '123,234,345',然后它将循环每个作业ID,并将作业标记为收藏夹,如果它在阵列中。
但是现在我只需要加载相同的页面并运行该功能,提前感谢。
答案 0 :(得分:0)
最简单的方法是在用户插入/更新数据库后重新加载页面:
function favourite_job() {
if (!empty($_GET['job_fav'])) {
$job_id = $_GET['job_fav'];
$prev_id = get_field('favourite_jobs', 'user_'.get_current_user_id());
if($prev_id != '') {
$update_favourite = $prev_id .','.$job_id;
} else {
$update_favourite = $job_id;
}
}
$user_id = get_current_user_id();
update_user_meta($user_id, 'favourite_jobs', $update_favourite);
}
if (!empty($_GET['job_fav'])) {
add_filter('init' ,'favourite_job');
}
header("Refresh:0");