0

我正在尝试修改 Wordpress 插件。基本上,该插件会显示职位空缺。该插件具有搜索功能,您可以通过关键字、工作行业和薪水进行搜索。功能是:

// SEARCH FUNCTION
function bb_search_jobs($job_keyword=null,$job_industry=null,$job_salary=null) {

    global $wpdb;
    $table_name = $wpdb->prefix;        

    $query      = 'SELECT * FROM ' . $table_name . 'bb_jobs ' 
                . 'WHERE CURDATE() < DATE_ADD(date_time, INTERVAL days_to_advertise DAY) ';

    if($job_keyword != 'null') {
        if(strlen ( $job_keyword ) > 4 ){
            $query .= 'AND MATCH (job_title,job_skills,job_description) AGAINST ("' . esc_sql($job_keyword) . '") ';
        } else {
            $query .= 'AND job_title LIKE "%' . esc_sql($job_keyword) . '%" ';          
        }
    }

    if($job_industry && $job_industry != 'null' ){
        $query .= 'AND job_industry LIKE "%' . esc_sql($job_industry) . '%" ';
    }

    if($job_salary && $job_salary != 'null' ){

        $job_salary = format_salary($job_salary);
        $query .= 'AND salary_from <= "' . esc_sql($job_salary) . '" ';
        $query .= 'AND salary_to >= "' . esc_sql($job_salary) . '" ';
    }

//      var_dump ( $query );

    $myrows = $wpdb->get_results($query);

    return $myrows;

}

这个搜索功能有效,但我的问题是,如果用户没有在“关键字”输入中输入任何内容,那么无论他们选择行业还是薪水,搜索都会返回所有结果。我想修改这个功能,这样用户就不必添加关键字,如果他们不想,他们可以通过特定行业或薪水进行搜索,结果将显示来自该行业或具有该薪水的工作.

返回的 URL 以 ?job_keyword=&job_industry=null 结尾我注意到,如果我在 job_keyword= 之后手动放置一个“+”,那么搜索就会起作用。那么,我该如何修改函数,以便如果客户没有在关键字输入中输入任何内容,那么 URL 将显示 ?job_keyword=+&job_industry=null 而不是 ?job_keyword=&job_industry=null

您可以在http://www.bettondesignwork.co.uk/castlewp/job-search/上查看该网站以及该插件

与以往一样,我们非常感谢任何帮助。谢谢你。

4

2 回答 2

0

你有两个选择:

  1. 在将结果提交给您的函数之前,您检查一个空字段(示例)。如果该字段为空,只需将其更改为“+”,然后再将其提交给函数。
  2. 通过 JS,在提交表单之前检查表单字段。例子
于 2013-03-27T21:32:43.600 回答
0

感谢您为我查看此功能,但问题出在插件其他地方的错误上。我现在已经修复了这个错误,这个功能可以正常工作。

于 2013-03-28T08:50:05.517 回答