2016-08-21 12 views
1

お客様が必要なフィールドをすべて入力していない場合に、チェックアウトページで発生するエラーメッセージのテキストを変更したいとします。 Currnetlyのメッセージには、記入する必要のあるすべてのフィールドが表示されます。たとえば、 "請求先住所は必須フィールドです。 請求先住所コードは必須フィールドです 電子メールアドレスは必須フィールドです。woocommerceエラーメッセージの変更

「必要なフィールドに入力してください」というメッセージが1つだけ表示されます。または、複数のフィールドを入力する必要がある場合は、「必須フィールドに入力してください」と入力します。

誰でもこの方法を知っていますか?私のPHPは限られています。 ありがとう!

答えて

1

更新されたコード:

はfunction.phpファイルにこのコードを追加します。

function my_woocommerce_add_error($error) { 
    if (strpos($error,'required') !== false) { 
     $error = 'Required'; 
    } 
    return $error; 
} 
add_filter('woocommerce_add_error', 'my_woocommerce_add_error'); 

と\通知にerror.phpファイルをこのコードを追加します。

<ul class="woocommerce-error"> 
    <?php 
    $totalReq = count(array_keys($messages, 'Required')); 
    $removeReq = array_diff($messages, ["Required"]); 

    if($totalReq > 1){ 
     echo '<li>Please fill in all the <strong>required</strong> fields.</li>'; 
    }else{ 
     echo '<li>Please fill in the <strong>required</strong> field.</li>'; 
    } 
    ?> 
    <?php foreach ($removeReq as $message) : ?> 
     <li><?php echo wp_kses_post($message); ?></li> 
    <?php endforeach; ?> 
</ul> 

がそれを願っていますあなたの懸念を解決します:)

+0

こんにちは、おかげで、これはすべてのエラーメッセージは、必要とは何の関係もありません。でも、ものを変更しますフィールド...しかし、私はこの1つの特定のエラーメッセージを変更する必要があります。 – Nilli

+0

必要なフィールドだけに、そのメッセージが1つ必要ですか?他のメッセージは損なわれてはいけませんか? –

+0

顧客がすべてのフィールドに記入していないときにチェックアウトページに表示されるエラーメッセージの場合のみ、たとえば売り切れたカートに商品を追加したい場合は使用しないでください(Woocommerceエラーメッセージ)。 – Nilli

0

一般的なエラーメッセージ表示に適しています。しかし、それはあなたのウェブサイトの言語に基づいて変更する必要があるstrpos関数で文字列 'required'を検索するためのウェブサイトの言語にも依存します。エラーテンプレートファイルのコードでも

はそれが魔法のように動作したより

$removeReq = array_diff($messages, array("Required")); 

$removeReq = array_diff($messages, ["Required"]); 

から変更する必要があります。 エラーメッセージを上書きすることをお勧めします。これのためにまだ見つけられなかった解決策のうち、しかしこれは本当にうまくいく。

しかし、それは私のアカウントページなどから編集アドレスなどのすべてのwoocommerceフォーム上で動作します。..

関連する問題