这是一个文件位置,而不是脚本或功能问题。我制作了一个Wordpress主题,并希望通过jQuery调用弹出联系表单,如果表单经过验证,我的js文件将调用一个php文件来发送电子邮件。
这是文件/文件夹结构:
wp_theme_root
|
js/popup_form.js
|
mailer.php
我只是想知道我应该在哪里放置mailer.php表单,因为我尝试将它与js文件放在同一目录中,或者在主题根目录或wordpress目录中,但都没有成功。
感谢您的帮助。
答案 0 :(得分:1)
如果它是您正在构建的主题的一部分,则需要将其放在主题文件夹或主题内的包含文件夹中。您可以使用get_bloginfo()方法访问它: http://codex.wordpress.org/Function_Reference/get_bloginfo#Template_Directory
但请记住,直接调用文件时无法调用wordpress函数。如果您的邮件功能只发送邮件而不依赖于WP,那么您应该没问题。否则你需要把它挂钩到WP。
我经常使用的方法是在functions.php中使用这段代码
add_action('wp', 'check_ajax'); //run this method for every call
function check_ajax() {
if (isset($_GET["is_ajax_request"])) {
get_template_part('includes/axax_calls'); die();
}
}
然后我在include中的主题文件夹中有一个名为ajax_calls的文件。此方法也将处理堆栈中具有WP的所有ajax调用。确保在所有ajax请求中都有'is_ajax_request'。
答案 1 :(得分:0)
尝试将其放在WordPress目录的根文件夹中,然后调用它:/js/popup_form.js
。注意前面的/
,如果你不知道它意味着从root开始。
希望这适合你。
答案 2 :(得分:0)
最干净的方法是编写处理邮件作为插件发送的代码。 哪个将拥有自己的自包含MVC组件(大多数只是空的)。
我只能找到现有的示例JSON-API。它更大但更简单。