この記事では、WordPress用のシンプルなAjax連絡(luò)フォームプラグインを構(gòu)築することを示しています。 プラグインの作成、フォームデザイン、AJAX処理、ショートコードの実裝をカバーします。
重要な概念:WordPressプラグイン開発は、サイト機(jī)能を拡張するためのプラグインをレバレッジします。これには、データ提出にAJAXを使用する連絡(luò)先フォームの作成が含まれます。 これには、プラグインファイルの作成、フォーム構(gòu)造、AJAXハンドラー、ショートコードが含まれます。
- ajaxハンドラーは非常に重要です。ユーザーの入力を受信し、データを検証し、
- を使用してWordPress管理者に電子メール通知を送信します。 AJAXハンドラーの適切な登録は、AJAXリクエストを処理するために不可欠です。 ショートコードは、フォームの統(tǒng)合を簡素化します。フォームのHTMLを生成し、その後、ショートコード內(nèi)にカプセル化され、投稿やページに簡単に挿入するようになります。
-
wp_mail()
プラグインの作成:
WordPressディレクトリ內(nèi)でという名前のフォルダーを作成します。
內(nèi)部、次のプラグインヘッダーを使用して- を作成します
-
ajaxcontactform
wp-content/plugins
WordPress管理パネルのプラグインをアクティブにします。 -
ajaxcontactform.php
<?php /* Plugin Name: Ajax Contact Form Plugin URI: (Your Plugin URI) Description: A simple contact form using AJAX. Author: Abbas Suterwala Version: 1.0 Author URI: (Your Author URI) */ ?>
- 內(nèi)に という名前のサブフォルダーを作成し、ajaxコードに
-
js
次のPHPコードをajaxcontactform
に追加して、定數(shù)、Enqueueスクリプトを定義し、ajax URLをローカライズします。ajaxcontact.js
フォーム作成:
- 次の関數(shù)は、連絡(luò)先フォームのhtml:
- を生成します
ajaxcontactform.php
このフォームは、ページまたは投稿に統(tǒng)合された後に以下に示すように表示されます。
define('ACFSURL', WP_PLUGIN_URL."/".dirname( plugin_basename( __FILE__ ) ) ); define('ACFPATH', WP_PLUGIN_DIR."/".dirname( plugin_basename( __FILE__ ) ) ); function ajaxcontact_enqueuescripts() { wp_enqueue_script('ajaxcontact', ACFSURL.'/js/ajaxcontact.js', array('jquery')); wp_localize_script( 'ajaxcontact', 'ajaxcontactajax', array( 'ajaxurl' => admin_url( 'admin-ajax.php' ) ) ); } add_action('wp_enqueue_scripts', 'ajaxcontact_enqueuescripts');
ajaxハンドラー:
この関數(shù)はAJAX要求を処理し、データを検証し、メールを送信します。
function ajaxcontact_show_contact() { ?> <div> <div style="background-color:http://www.miracleart.cn/link/93ac0c50dd620dc7b88e5fe05c70e15bE6E6FA ;color:blue;"></div> <input type="text" id="ajaxcontactname" placeholder="Name"><br> <input type="email" id="ajaxcontactemail" placeholder="Email"><br> <input type="text" id="ajaxcontactsubject" placeholder="Subject"><br> <textarea id="ajaxcontactcontents" placeholder="Message"></textarea><br> <a href="http://www.miracleart.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b" onclick="ajaxformsendmail(this.form);" style="cursor: pointer">Send Mail</a> </div> <?php }
エラー処理には、次のようなメッセージが表示されます
ajaxハンドラーの登録:
ajaxハンドラーを登録します:
function ajaxcontact_send_mail() { $results = ''; $error = 0; $name = isset($_POST['acfname']) ? sanitize_text_field($_POST['acfname']) : ''; $email = isset($_POST['acfemail']) ? sanitize_email($_POST['acfemail']) : ''; $subject = isset($_POST['acfsubject']) ? sanitize_text_field($_POST['acfsubject']) : ''; $contents = isset($_POST['acfcontents']) ? wp_kses_post($_POST['acfcontents']) : ''; $admin_email = get_option('admin_email'); if (!is_email($email)) { $results = $email." :email address is not valid."; $error = 1; } elseif (empty($name)) { $results = "Name is invalid."; $error = 1; } elseif (empty($subject)) { $results = "Subject is invalid."; $error = 1; } elseif (empty($contents)) { $results = "Content is invalid."; $error = 1; } if ($error == 0) { $headers = 'From: ' . $email . "\r\n"; if (wp_mail($admin_email, $subject, $contents, $headers)) { $results = "*Thanks for your mail."; } else { $results = "*The mail could not be sent."; } } die($results); }
ajaxリクエスト(ajaxcontact.js)の送信:
ショートコードの作成:
完成したフォームは次のように表示されます
セキュリティ、カスタマイズ、および高度な機(jī)能:
提供されたコードには、重要なセキュリティ対策がありません(NonCe検証)。 CSRF攻撃を防ぐために、Noncesの追加を強(qiáng)くお勧めします。 さらなるカスタマイズ(CSSによるスタイリング、強(qiáng)化された検証、CAPTCHA統(tǒng)合、ファイルアップロードなど)は、特定の要件に基づいて実裝できます。 元のテキストのFAQSセクションは、これらの機(jī)能強(qiáng)化に関するガイダンスを提供します。 脆弱性を防ぐために、すべてのユーザー入力を消毒することを忘れないでください
以上がAjax連絡(luò)フォームを作成するためのWordPressプラグインを構(gòu)築するの詳細(xì)內(nèi)容です。詳細(xì)については、PHP 中國語 Web サイトの他の関連記事を參照してください。

ホットAIツール

Undress AI Tool
脫衣畫像を無料で

Undresser.AI Undress
リアルなヌード寫真を作成する AI 搭載アプリ

AI Clothes Remover
寫真から衣服を削除するオンライン AI ツール。

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中國語版
中國語版、とても使いやすい

ゼンドスタジオ 13.0.1
強(qiáng)力な PHP 統(tǒng)合開発環(huán)境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











GITでWordPressプロジェクトを管理する場合、バージョンコントロールにテーマ、カスタムプラグイン、構(gòu)成ファイルのみを含める必要があります。 .gitignoreファイルをセットアップして、ディレクトリ、キャッシュ、および機(jī)密構(gòu)成のアップロードを無視します。 WebhooksまたはCIツールを使用して自動展開を?qū)g現(xiàn)し、データベース処理に注意を払います。共同開発のために2つのブランチポリシー(Main/Develop)を使用します。そうすることで、競合を回避し、セキュリティを確保し、コラボレーションと展開効率を改善できます。

WordPressテスト環(huán)境を使用して、正式に発売される前に新機(jī)能、プラグイン、またはテーマのセキュリティと互換性を確保し、実際のWebサイトに影響を與えないようにします。テスト環(huán)境を構(gòu)築する手順には、次のものがあります。ローカルサーバーソフトウェア(LocalWP、XAMPPなど)のダウンロードとインストール、サイトの作成、データベースと管理者アカウントの設(shè)定、テスト用のテーマとプラグインのインストール。正式なWebサイトをテスト環(huán)境にコピーする方法は、プラグインを介してサイトをエクスポートし、テスト環(huán)境をインポートし、ドメイン名を置き換えることです。それを使用する場合、実際のユーザーデータを使用せず、定期的に役に立たないデータのクリーニング、テストステータスのバックアップ、時間內(nèi)に環(huán)境のリセット、および違いを減らすためにチームの構(gòu)成を統(tǒng)合することに注意を払う必要があります。

Gutenbergブロックを作成するための鍵は、その基本構(gòu)造を理解し、フロントエンドリソースとバックエンドリソースを正しく接続することです。 1.開発環(huán)境の準(zhǔn)備:ローカルWordPress、node.js、 @wordpress/scriptsをインストールします。 2。PHPを使用してブロックを登録し、JavaScriptを使用してブロックの編集ロジックを定義します。 3. npmを介してJSファイルを構(gòu)築して変更を行います。 4.問題に遭遇したときにパスとアイコンが正しいかどうかを確認(rèn)するか、リアルタイムのリスニングを使用してビルドを使用して、繰り返し手動コンパイルを避けます。これらの手順に従って、シンプルなグーテンバーグブロックを段階的に実裝できます。

WordPressでは、カスタム記事タイプを追加したり、固定リンク構(gòu)造を変更したりするときは、書き換えルールを手動で更新する必要があります。この時點(diǎn)で、コードを介してflush_rewrite_rules()関數(shù)を呼び出して実裝できます。 1.この関數(shù)は、テーマまたはプラグインのアクティベーションフックに追加して、自動的に更新できます。 2。CPTの追加、分類、リンク構(gòu)造の変更など、必要に応じて1回のみ実行します。 3.パフォーマンスに影響を避けるために、頻繁に電話をかけないでください。 4。マルチサイト環(huán)境では、必要に応じて各サイトを個別に更新します。 5.一部のホスティング環(huán)境は、ルールの保存を制限する場合があります。さらに、[保存]をクリックして「設(shè)定>ピン留めリンク」ページにアクセスすると、自動化されていないシナリオに適した更新もトリガーできます。

tosetupredirectsinwordsusitheTheTheTheTheTheTheThe、LocateTethefileNyinyOursite’sRootDirectoryAnddRedireCtRulesabovethe

応答性のあるWordPressテーマデザインを?qū)g裝するには、まず、HTML5とモバイルファーストメタタグを使用し、header.phpにビューポート設(shè)定を追加して、モバイル端子が正しく表示されるようにし、HTML5構(gòu)造タグでレイアウトを整理します。第二に、CSSメディアクエリを使用して、さまざまな畫面幅でスタイルの適応を?qū)g現(xiàn)し、モバイルファーストの原則に従ってスタイルを書き込み、一般的に使用されるブレークポイントには480px、768px、1024pxが含まれます。第三に、畫像とレイアウトを弾力的に処理し、最大幅を設(shè)定します。畫像に100%を設(shè)定し、固定幅の代わりにFlexBoxまたはグリッドレイアウトを使用します。最後に、ブラウザ開発者ツールと実際のデバイスを介して完全にテストし、パフォーマンスを最適化し、応答を確保する

usingsmtpforwordpressemailsimprovesdeleverability andReliability comparedtothededefaultphpmail()function.1.smtpauthenticateswithyouremailserver、reducespamplacement.2.somehostsdisablephpmail()、makesmtpn devering

IntegrateThird-PartyApisIntOwordPress、次のようになります。
