基本的な要件を満たしたお問い合わせフォームの作成を簡素化

王林
リリース: 2023-09-02 13:12:01
オリジナル
1264 人が閲覧しました

シンプルなブログを始める場合でも、企業 Web サイトを作成する場合でも、WordPress でクリエイティブなポートフォリオを構築する場合でも、お問い合わせページは (ほぼ) 常に必要であり、お問い合わせフォームは (ほぼ) 常に必要です。メールを共有するよりも優れています。公にアドレス指定します (ただし、スパム ボットはこれを好みます)。確かに、WordPress には優れたコンタクト フォーム プラグインがたくさんありますが、代わりに素敵でシンプルなカスタム ショートコード プラグインを使用できるのに、大量のデータベース クエリを含む重いプラグインでサイトを肥大化させる必要はありません。


独自の連絡フォームを作成する利点

プラグインは優れていますが、必要のない機能が多すぎるため、データベース接続の使用、追加の PHP コードの実行、CSS スタイルシートや JS ファイルのヘッダーへの追加によってサイトが肥大化する可能性があります。使用したいプラグインがどれほど優れていても、既存のプラグインから離れたいだけです。

コーディングの方法がわからない場合は、(ある程度) 手が縛られていて、プラグインを使用する必要があることを認めざるを得ません。ただし、何らかのレベルの WordPress 開発に精通している場合 (まだ私と一緒にいるので、そうしていると思います)、独自のテーマをハッキングしたり、独自のプラグインを作成したりすることの利点を考慮する必要があります。私の意見では次のような利点があります:

  • 最適化 - コードを多量に使用しすぎると、特に不要なコードを使用すると、場合によってはホスティング プランの制限を超えることもあります。ただし、サーバー上に十分なリソースがある場合でも、最適化はサイトの健全性にとって常に有益です。
  • 清潔さ - サーバーの健全性に加えて、コードがきれいであることは、Web サイトの読み込み速度と解析速度に大きなメリットをもたらします。自分でコーディング/ハッキングすることで、大量のコンテンツを読み込むことなく、サイト上のシンプルな機能を利用するために必要なものだけを手に入れることができます。ご存知のとおり、SEO にも効果があります。
  • コントロールの喜び - 命令することの力を決して過小評価してはいけません。 Web サイトを制御できれば、既製のコードを大量に使用するよりも、間違いなくより情熱的なデザイナー/開発者になれるでしょう。そのため、そうしたくない人のために完全なコードを提供していますが、個人的には、ここにコードをコピー/ペーストするのではなく、自分でコードを書くべきだと思います。まったく同じコードを入力しても、プラグインがどのように動作するかを確認し、制御する喜びを感じることができます。正直に。

###コード###

さて、おしゃべりはこれくらいにして、コーディングを始めましょう!ここでは大量のコードや難しい作業を扱うつもりはありません。そのため、PHP や WordPress の初心者であっても、私のガイドに従ってコードの一部を勉強することでコードを理解できます。それ。認識できないコードです。

このコードをテーマの

functions.php

ファイルに直接挿入することもできますが、より良い方法はプラグインとして使用することです。こうすることで、テーマを切り替えても機能が失われ、コンテンツ内にショートコードが出力されることはありません。標準のプラグイン情報から始めましょう: リーリー

小さな補助関数:
get_the_ip()

関数名から推測できるように、ユーザーがプロキシ サーバー経由で接続している場合でも、ユーザーの実際の IP アドレスを取得します。もちろん、これは絶対確実というわけではありませんが、とにかくユーザーへの追加情報として使用します。

基本的に、さまざまな

$_SERVER

変数: HTTP_X_FORWARDED_FORHTTP_CLIENT_IP、および REMOTE_ADDR をそれぞれ取得しようとします。コードは以下のように表示されます: リーリー

ショートコード

Wptuts で私の投稿をフォローしている方は、私が

Shortcode API for WordPress が大好きであることをご存知でしょう。

わかりやすく説明するためにショートコードを 3 つの部分に分けますが、最初にショートコード機能をオンまたはオフにすることを忘れないでください。 リーリー

ショートコードの属性

軽量でありながら柔軟性を維持するには、

いくつかの

プロパティを設定する必要があります。ここに 10 件あります:

リーリー これらはコード内で属性名を持つ変数として参照されることに注意してください (例: $label_submit

)。

電子メールで電子メールを送信

これは関数の最も重要な部分であるため、コード

のコードの説明を続けて、次のコメント行を付けます。 リーリー

連絡先リスト この部分は、もちろん前の部分と同じくらい重要です。結局のところ、前のコードでは、お問い合わせフォームなしでどのように電子メールを送信できるのでしょうか? :)

リーリー

ヒント:

お問い合わせフォームの HTML コードをよく見ると、追加の
$subject

変数が見つかる場合があります。デフォルト値のなかったショートコード属性「subject」を覚えていますか?つまり、デフォルトのテーマを設定したい場合は、次のようなショートコードを使用できます: [contact subject="Job application"]

返回简码的

最后一点非常简单:如果电子邮件已发送,则显示成功消息,或者显示电子邮件表单和错误消息(如果有)。代码如下:

if ( $sent == true ) {
	return $info;
} else {
	return $info . $email_form;
}
ログイン後にコピー

如果电子邮件已发送,我们不会再次显示该表单,但如果您仍想显示该表单,可以使用以下简单的行:

return $info . $email_form;
ログイン後にコピー

CSS

当然,代码本身看起来不太好。通过一些化妆、CSS,我们可以使我们的表单更漂亮。将这些 CSS 代码行添加到主题的 style.css 文件中:

.contact-form label, .contact-form input, .contact-form textarea { display: block; margin: 10px 0; }
.contact-form label { font-size: larger; }
.contact-form input { padding: 5px; }
#cf_message { width: 90%; padding: 10px; }
#cf_send { padding: 5px 10px; }
ログイン後にコピー

如果一切正确,您将看到类似于下图的内容:

基本的な要件を満たしたお問い合わせフォームの作成を簡素化

恭喜,您刚刚构建了自己的联系表单短代码!


结论

这个简单的联系表单对于大多数网站来说已经足够了,但是如果您想向其中添加更多字段,您只需编辑表单并将 $form_data['name_of_the_new_field'] 变量添加到 $email_message 中变量(并且可能将字段名称添加到 $required_fields 数组中。

如果您对如何改进此代码或显示您使用该代码的网站页面有任何想法,请在下面与我们分享您的评论!

以上が基本的な要件を満たしたお問い合わせフォームの作成を簡素化の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート