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

次の 2 つのオプションがあります。

  1. 関数に結果を送信する前に、空のフィールド ( example ) をチェックします。フィールドが空の場合は、関数に送信する前に「+」に変更してください。
  2. JS 経由で、フォームを送信する前にフォーム フィールドを確認します。
于 2013-03-27T21:32:43.600 に答える
0

この関数を見ていただきありがとうございますが、問題はプラグインの他の場所にバグがありました。現在、バグを修正しており、この機能は正常に機能しています。

于 2013-03-28T08:50:05.517 に答える