我有一个文件,mail.php -它在public_html/scripts/
目录中。
我有一个 AJAX javascript函数调用它:
<script>
function sendEmail() {
var variable1 = 'hello'; // Get the value from the input box
var variable2 = 'world'; // Get the value from the input box
var xhr = new XMLHttpRequest();
xhr.open('POST', '/scripts/mail.php', true);
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xhr.onreadystatechange = function() {
if (xhr.readyState === XMLHttpRequest.DONE && xhr.status === 200) {
// Request completed successfully
console.log('Email sent successfully!');
}
};
xhr.send('variable1=' + encodeURIComponent(variable1) + '&variable2=' + encodeURIComponent(variable2));
}
sendEmail();
</script>
文件mail.php
具有以下内容:
<?php
require_once('/wp-load.php'); // Load the WordPress core file to access WordPress functions
在开发者工具(Chrome)中查看时,网络选项卡中的响应mail.php是:
致命错误:require_once():在**/home/customer/www/ www.example.com第2行打开所需的“/wp-load.php”(include_path ='.:/usr/local/php74/pear')失败website.com/public_html/scripts/mail.php**
我试过了:require_once('../wp-load.php')和require_once('../../wp-load.php')
但错误仍然存在。
这是一个权限问题(例如,我的脚本目录是否应该在wp-content中),还是我的代码有其他明显的错误?
谢谢,马克
2条答案
按热度按时间h22fl7wq1#
尝试在文件名的开头添加一个点:
检查wp-load.php是否在脚本的同一个文件夹中。
ni65a41a2#
我正在使用wp_smtp_mail插件,并在我的PHP中引用它-但错误显示为无法加载wp-load.php
当我使用wp_mail(默认的WP邮件功能)发送时,它可以正常工作,没有错误。
看起来这个错误并不是wp-load.php的错误,尽管开发者工具网络选项卡建议它是在那里。
所以,不使用插件,并使用默认的邮件,已经解决了这个问题,如果不是错误的原因.