【问题标题】:How can I create a custom email sender file in Wordpress?如何在 Wordpress 中创建自定义电子邮件发件人文件?
【发布时间】:2019-12-22 18:37:27
【问题描述】:

我在 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");
    }
);

【问题讨论】:

  • 这是您在 WordPress codex.wordpress.org/AJAX_in_Plugins 中使用 ajax 的方式,签出并尝试创建一个可行的解决方案,然后如果您遇到问题,我们可以帮助您改进代码。
  • 这个'&lt;?php echo get_site_url();?&gt;/customMailer.php' 导致'https://www.your-site.com/customMailer.php' 你可能已经猜到它不是你的自定义PHP文件的正确路径,因此你得到一个404(未找到)错误的原因.

标签: ajax wordpress email send


【解决方案1】:

我解决了将我的 PHP 代码移动到 Wordpress 的 functions.php 文件中,并在我的代码中创建一个发送电子邮件的函数。

然后我使用add_action()(wordpress 方法)为我的 php 函数创建了两个挂钩。

在我的 Angular 代码中,我在提交 Ajax 调用时添加了一个 POST 到 admin-ajax.php,其中有一个名为“action”的变量,该变量的值表示我在 functions 中创建之前的 php 函数的名称.php.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-19
    相关资源
    最近更新 更多