搜尋
首頁CMS教程&#&按構建WordPress插件以創建AJAX聯繫表

>本文演示了為WordPress構建簡單的AJAX觸點表插件。 我們將介紹插件創建,表單設計,Ajax處理和短碼實現。

密鑰概念:

    WordPress插件開發利用插件來擴展站點功能。這包括創建使用AJAX進行數據提交的聯繫表。 這涉及插件文件創建,形式構造,Ajax處理程序和快捷代碼。
  • > Ajax處理程序至關重要。它接收用戶輸入,驗證數據,並使用
  • 向WordPress管理員發送電子郵件通知。 Ajax處理程序的正確註冊對於處理AJAX請求至關重要。
  • > wp_mail()短代碼簡化了形式的集成。一個函數會生成表單的HTML,然後將其封裝在短碼中,以便於插入帖子和頁面。
  • 插件創建:

在您的WordPress

目錄中創建一個名為
    的文件夾。
  1. > ajaxcontactform>內部,創建wp-content/plugins>帶有以下插件標頭:>
  2. ajaxcontactform.php
  3. 激活WordPress Admin面板中的插件。
>
<?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)
*/
?>

Building a WordPress Plugin to Create an AJAX Contact Form 內創建一個名為

的子文件夾,並為您的ajax代碼添加
  1. jsajaxcontactform ajaxcontact.js
>將以下php代碼添加到

中以定義常數,構建腳本並本地化ajax url:Building a WordPress Plugin to Create an AJAX Contact Form

  1. ajaxcontactform.php形式創建:
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');
以下功能生成聯繫表的HTML:

該表格將顯示為集成到頁面或帖子後所示:

function ajaxcontact_show_contact() {
?>
<div>
    <div style="background-color:https://www.php.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="https://www.php.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b" onclick="ajaxformsendmail(this.form);" style="cursor: pointer">Send Mail</a>
</div>
<?php
}
ajax處理程序:

此函數處理AJAX請求,驗證數據並發送電子郵件:> Building a WordPress Plugin to Create an AJAX Contact Form

錯誤處理將顯示這樣的消息:

註冊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處理程序:

Building a WordPress Plugin to Create an AJAX Contact Form

>發送ajax請求(ajaxcontact.js):

>

創建快捷代碼:

add_action( 'wp_ajax_nopriv_ajaxcontact_send_mail', 'ajaxcontact_send_mail' );
add_action( 'wp_ajax_ajaxcontact_send_mail', 'ajaxcontact_send_mail' );

完整的表格將顯示如下:

Building a WordPress Plugin to Create an AJAX Contact Form

安全性,自定義和高級功能:>

提供的代碼缺乏關鍵的安全措施(NONCE驗證)。 強烈建議使用Nonces來防止CSRF攻擊。 可以根據特定要求實現進一步的自定義(使用CSS,增強驗證,CAPTCHA集成,文件上傳等樣式)。 原始文本中的常見問題解答部分提供了有關這些增強功能的指導。 切記對所有用戶輸入進行消毒以防止漏洞。

以上是構建WordPress插件以創建AJAX聯繫表的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
WordPress的插件生態系統如何增強其CMS功能?WordPress的插件生態系統如何增強其CMS功能?May 14, 2025 am 12:20 AM

WordPressPluginsscmscmscapabilities byferingCustomization和Functionality.1)超過50,000pluginsallowuserstailostailortheortheortheortheirsiteforseo,電子商務和蘇聯。 2)pluginScaneCanextendCoreFeatures,likeaddingcustompostposttypes.3bully.3 burl

WordPress適合電子商務嗎?WordPress適合電子商務嗎?May 13, 2025 am 12:05 AM

是的,WordPress非常适合做电商。1)通过WooCommerce插件,WordPress可以快速变成功能全面的在线商店。2)需要关注性能优化和安全性,定期更新和使用缓存、安全插件是关键。3)WordPress提供了丰富的定制选项,提升用户体验和SEO优化效果显著。

如何在 Yandex 網站管理員工具中添加您的 WordPress 網站如何在 Yandex 網站管理員工具中添加您的 WordPress 網站May 12, 2025 pm 09:06 PM

您想將您的網站連接到Yandex網站管理員工具嗎? Google搜索控制台、Bing和Yandex等網站管理員工具可幫助您優化網站、監控流量、管理robots.txt、檢查網站錯誤等。在本文中,我們將分享如何在Yandex網站管理員工具中添加您的WordPress網站來監控您的搜索引擎流量。什麼是Yandex? Yandex是一個位於俄羅斯的流行搜索引擎,類似於Google和Bing。您可以在Yandex中優

如何修復 WordPress 中的 HTTP 圖片上傳錯誤(簡單)如何修復 WordPress 中的 HTTP 圖片上傳錯誤(簡單)May 12, 2025 pm 09:03 PM

您需要修復WordPress中的HTTP圖片上傳錯誤嗎?當您在WordPress中創建內容時,此錯誤可能會特別令人沮喪。當您使用內置WordPress媒體庫將圖像或其他文件上傳到CMS時,通常會發生這種情況。在本文中,我們將向您展示如何輕鬆修復WordPress中的HTTP圖片上傳錯誤。 WordPress媒體上傳過程中出現HTTP錯誤的原因是什麼?當您嘗試使用WordPress媒體上傳器將文件上傳到Wo

如何修復添加媒體按鈕在 WordPress 中不起作用的問題如何修復添加媒體按鈕在 WordPress 中不起作用的問題May 12, 2025 pm 09:00 PM

最近,我們的一位讀者報告說,他們的WordPress網站上的“添加媒體”按鈕突然停止工作。此經典編輯器問題不會顯示任何錯誤或警告,這使用戶不知道為什麼他們的“添加媒體”按鈕不起作用。在本文中,我們將向您展示如何輕鬆修復WordPress中的“添加媒體”按鈕不起作用的問題。是什麼導致WordPress“添加媒體”按鈕停止工作?如果您仍在使用舊的經典WordPress編輯器,那麼“添加媒體”按鈕允許您將圖像、視頻等插入博客文章中。

如何設置、獲取和刪除 WordPress Cookie(像專業人士一樣)如何設置、獲取和刪除 WordPress Cookie(像專業人士一樣)May 12, 2025 pm 08:57 PM

您想了解如何在WordPress網站上使用cookie嗎? Cookie是在用戶瀏覽器中存儲臨時信息的有用工具。您可以使用此信息通過個性化和行為定位來增強用戶體驗。在本終極指南中,我們將向您展示如何像專業人士一樣設置、獲取和刪除WordPresscookie。注意:這是一個高級教程。它要求您精通HTML、CSS、WordPress網站和PHP。什麼是Cookie? Cookie是用戶訪問網站時創建並存儲在用戶瀏覽

如何修復 WordPress 429 請求過多錯誤如何修復 WordPress 429 請求過多錯誤May 12, 2025 pm 08:54 PM

您是否在WordPress網站上看到“429請求過多”錯誤?此錯誤消息意味著用戶向您網站的服務器發送了太多HTTP請求。此錯誤可能會非常令人沮喪,因為很難找出導致該錯誤的原因。在本文中,我們將向您展示如何輕鬆修復“WordPress429TooManyRequests”錯誤。是什麼原因導致WordPress429請求過多錯誤? “429TooManyRequests”錯誤的最常見原因是用戶、機器人或腳本嘗試向網站

WordPress作為大型網站的CMS有多可擴展?WordPress作為大型網站的CMS有多可擴展?May 12, 2025 am 12:08 AM

WordPressCanHandLeLArgeWebsiteswithCareFulplanningAndOptimization.1)USECACHINGTOREDUCESERVERVERLOAD.2)優化YourDataBaseRegularly.3)actimentAcdNtododistibuteContent.4))

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中