2016-08-30 19 views
1

新しいAWSインスタンスに移行し、apacheからnginxに移行した後、以前は持っていなかったwp_ksesに問題があります。wp_ksesに2つの引数の問題がありません

フォームを送信し、すべての処理がうまくいくが、その代わりに、成功のページにリダイレクトするの私は、このようなエラーメッセージが出ます:

警告:行方不明のパスで呼び出さwp_ksesの引数2()、/ /へのライン20上の/ file.phpとルート/フォルダ/ public_htmlの/ WP-含ま/ kses.phpで定義されたライン上の521

これは、フォーム

//Template Name: Jobs: Add mini ad form process 

if (!wp_verify_nonce($_POST['ad_mini_add_nonce'], 'submit_add_mini_ad_form')) : 

    echo 'Sorry your nonce didn\'t verify'; 
    exit; 

endif; 

    // Checking for secret filed 
    if (isset($_POST["secret_field"]) && !empty($_POST["secret_field"])) : 

     echo 'Sorry, could not send.'; 
     exit; 

    endif; 

     // process form data 
     $position_name   = wp_kses($_POST['position_name']); 
     $company_name   = wp_kses($_POST['company_name']); 
     $location    = wp_kses($_POST['location']); 
     $link_for_apply   = wp_kses($_POST['link_for_apply']); 
     $website    = wp_kses($_POST['website']); 
     $name     = wp_kses($_POST['name']); 
     $email     = wp_kses($_POST['email']); 
     $phone     = wp_kses($_POST['phone']); 


     // Create new add - privately published 
     $new_ad = array(
      'post_title'  => $position_name, 
      'post_type'  => 'post', 
      'post_status'  => 'private', 
      'post_author'  => 1001189, //Tanja Mladenovic 
     ); 
     $new_ad_id = wp_insert_post($new_ad); 
     $new_ad_url = get_post_permalink($new_ad_id); 
     $next_month   = date('Ymd', strtotime('+30 days', time())); 
     // Fill custom fileds 
     add_post_meta($new_ad_id, 'company_location', $location); 
     add_post_meta($new_ad_id, 'ad_type', 'mini'); 
     add_post_meta($new_ad_id, 'company_name', $company_name); 
     add_post_meta($new_ad_id, 'webiste', $webiste); 
     add_post_meta($new_ad_id, 'expire', $next_month); 
     add_post_meta($new_ad_id, 'contact_person_name', $name); 
     add_post_meta($new_ad_id, 'contact_person_phone', $phone); 
     add_post_meta($new_ad_id, 'contact_person_email', $email); 
     add_post_meta($new_ad_id, 'type_of_apply', 'link'); 
     add_post_meta($new_ad_id, 'link_for_apply', $link); 

を処理するための私のコードで私はwp_ksesができます知っていますさらに2つのargを持つ以前は何も問題なく働いていた。公式ドキュメンテーションがwp_kses第二引数は「allowed_html」のがなしのデフォルト値を持っている(そしてそれは私がしたい正確に何である)、そして第三引数「がallowed_protocols」はオプション

答えて

2

OKであることを言って、私は何を実現しました問題。それはWordPressのアップデートでした。この新しいバージョンでは、wp_ksesに2番目の引数が必要です。私の場合イム、私はHTMLを許可したくないので、私は空の配列を追加し、それが

に動作しますので、私はこの部分を変更する:これに

$position_name   = wp_kses($_POST['position_name']); 
$company_name   = wp_kses($_POST['company_name']); 
$location    = wp_kses($_POST['location']); 
$link_for_apply   = wp_kses($_POST['link_for_apply']); 
$website    = wp_kses($_POST['website']); 
$name     = wp_kses($_POST['name']); 
$email     = wp_kses($_POST['email']); 
$phone     = wp_kses($_POST['phone']); 

$position_name   = wp_kses($_POST['position_name'], array()); 
$company_name   = wp_kses($_POST['company_name'], array()); 
$location    = wp_kses($_POST['location'], array()); 
$link_for_apply   = wp_kses($_POST['link_for_apply'], array()); 
$website    = wp_kses($_POST['website'], array()); 
$name     = wp_kses($_POST['name'], array()); 
$email     = wp_kses($_POST['email'], array()); 
$phone     = wp_kses($_POST['phone'], array()); 
関連する問題