ajax - 如何在 Wordpress 中创建自定义电子邮件发件人文件?
问题描述
我在 JavaScript 中创建了一个自定义联系表单,它以 JSON 格式收集数据。
我想通过 HTTP POST 将它传递给一个 PHP 文件,该文件应该格式化电子邮件并发送它,但我无法通过Ajax调用找到该文件,因为我收到 404 错误。
有没有正确的方法来做到这一点?
如果我将它放在根目录中,我可以访问它,但它不会接收 POST 数据。
这就是我尝试将数据传递到我的自定义文件的方式,该文件现在位于:/wp-content/themes/themeName/customMailer.php
角 1 -
$http.post(
'<?php echo get_site_url();?>/customMailer.php',
$scope.FormData
).then(
function(e){
console.log(e);
},
function(){
console.log("error");
}
);
解决方案
我解决了将我的 PHP 代码移动到 Wordpress 的functions.php文件中,并在我的代码中创建一个发送电子邮件的函数。
add_action()
然后我用(wordpress方法)为我的php函数创建了两个钩子。
在我的 Angular 代码中,我添加了一个 Ajax 调用,该调用对 admin-ajax.php 进行了 POST,其中有一个名为“action”的变量,该变量的值表示我在 functions.php 中创建之前的 php函数的名称。
推荐阅读
- mysql - django.db.utils.OperationalError: (2002, "Can't connect to MySQL server on 'db' (115)") 总是出现这个错误
- python - python中字符串中的模式出现
- java - 如果没有 -javaagent 参数,AspectJ 不会运行
- javascript - React Draft.js 中的图像显示问题
- java - org.hibernate.annotations.JoinColumnsOrFormulas OR EXPRESSION
- javascript - 在页面加载时执行 python 脚本
- acumatica - 将视图传递给 Acumatica 中的方法
- disk - 为什么 RAID 级别 2 需要磁盘同步旋转?
- angular - 接收新数据时角材料表不更新
- python - 使用 UCX 协议 Dask 分布式