Wordpress - 在不离开当前页面的情况下运行功能

时间:2016-02-03 13:47:04

标签: php wordpress function

我在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,并将作业标记为收藏夹,如果它在阵列中。

但是现在我只需要加载相同的页面并运行该功能,提前感谢。

1 个答案:

答案 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");