0

前回のサイトで経験した問題の 1 つはお問い合わせフォームでした。これは静的な件名のアプローチを使用しています。これは問題ありませんが、Gmail を使用している場合、同じ件名のメールがグループ化されていないという問題があります。特にそのように大量のトラフィックが予想される場合は理想的です。

私が使用しているテーマには件名フィールドがありますが、まったく利用されていないようです。テスト メッセージを送信したところ、次のメッセージが届きました。

メール件名: .am - お問い合わせフォームからのメッセージ

サイト: .am

名前:アレックス

電子メール: test@test.tld

件名: .am - お問い合わせフォームからのメッセージ

メッセージ: 本体をテストします。

そのため、件名フィールドに入力したテキストは完全に無視され、静的なテキストが電子メールの件名から引き出され、本文で繰り返されました。

それぞれのページにコードを見つけました(だと思いますか?)。

APOLLO13.PHP

if (empty($name))
$name_error = true;
if (empty($email) || !is_email($email))
$email_error = true;
if (empty($subject))
$subject_error = true;
if (empty($content))
$content_error = true;
if ($name_error == false && $email_error == false && $content_error == false &&     $subject_error == false) {
$subject = $site . __(' - message from contact form', TPL_SLUG);
$body = __('Site: ', TPL_SLUG) . $site . "\n\n"
. __('Name: ', TPL_SLUG) . $name . "\n\n"
. __('Email: ', TPL_SLUG) . $email . "\n\n"
. __('Subject: ', TPL_SLUG) . $subject . "\n\n"
. __('Message: ', TPL_SLUG) . $content;
$headers = "From: $name <$email>\r\n";
$headers .= "Reply-To: $email\r\n";
if (wp_mail($email_to, $subject, $body, $headers)) {
$title_msg = __('Success sending form', TPL_SLUG);
} else
$title_msg = __('Something wrong. Try again!', TPL_SLUG);
} else {
$title_msg = __('Error in form', TPL_SLUG);
if (!empty($name))
$name_tag = 'value="' . $name . '"';
if (!empty($email))
$email_tag = 'value="' . $email . '"';
if (!empty($subject))
$phone_tag = 'value="' . $subject . '" title="' . __('General question ...', TPL_SLUG) . '"';
if (!empty($content))
$content_tag = $content;
}

そして、私が欲しいのは、本質的に

メール件名: $site | $subject-ユーザー入力

名前:

Eメール:

メッセージ:

それを行うためにコードを修正するにはどうすればよいですか?これのため:

$subject = $site . __(' - message from contact form', TPL_SLUG);
. __('Subject: ', TPL_SLUG) . $subject . "\n\n"

少し無意味に思えます。

編集

それが助けになるなら、フォーム自体のコードを見つけました:

<form action="http<?php echo $ssss ?>://<?php echo $_SERVER["SERVER_NAME"] . $_SERVER["REQUEST_URI"] ?>"
      method="post" id="contact-form-<?php echo $form_iter ?>" class="contact-form styled-form">
    <div class="submit_inputs">
        <div<?php echo ($name_error ? ' class="error"' : '') ?>>
            <input id="apollo13-contact-name" name="apollo13-contact-name" type="text" value=""/>
            <label for="apollo13-contact-name">
                <?php echo __('Name', TPL_SLUG) ?>
                <span> (<?php echo __('required', TPL_SLUG) ?>)</span>
            </label>
        </div>
        <div style="clear: both;"></div>
        <div<?php echo ($name_error ? ' class="error"' : '') ?>>
            <input id="apollo13-contact-email" name="apollo13-contact-email" type="text" value="" class="email"/>
            <label for="apollo13-contact-email">
                <?php echo __('Email', TPL_SLUG) ?>
                <span> (<?php echo __('required', TPL_SLUG) ?>)</span>
            </label>
        </div>
        <div style="clear: both;"></div>
        <div<?php echo ($name_error ? ' class="error"' : '') ?>>
            <input class="placeholder" id="apollo13-contact-subject" name="apollo13-contact-subject" type="text"
                   value=""/>
            <label for="apollo13-contact-subject">
                <?php echo __('Subject', TPL_SLUG) ?>
            </label>
        </div>
    </div>
    <div style="clear: both;"></div>
    <div<?php echo ($name_error ? ' class="error"' : '') ?>>
        <textarea id="apollo13-contact-content" name="apollo13-contact-content" rows="10" cols="40"></textarea>
    </div>
    <div>
        <input type="hidden" name="apollo13-contact-form" value="send"/>
        <input id="contact-submit" type="submit" value="<?php echo __('Submit form', TPL_SLUG) ?>"/>
    </div>
</form>
4

1 に答える 1

0

$subjectどこで元の値が得られるのか、HTML フォームがどのように見えるのかわからないため、はっきりとは言えません。

$subject = $site . __(' - message from contact form', TPL_SLUG);

に変更される可能性があります

$subject = $site . ' | ' . $subject;

$body次のようになります。

$body = __('Site: ', TPL_SLUG) . $site . "\n\n"
. __('Name: ', TPL_SLUG) . $name . "\n\n"
. __('Email: ', TPL_SLUG) . $email . "\n\n"
. __('Message: ', TPL_SLUG) . $content;
于 2013-02-05T21:53:19.090 に答える