Wordpress:如果我想从javascript文件中调用它,我的PHP脚本放在哪里?

时间:2011-02-17 06:03:22

标签: php javascript jquery wordpress phpmailer

这是一个文件位置,而不是脚本或功能问题。我制作了一个Wordpress主题,并希望通过jQuery调用弹出联系表单,如果表单经过验证,我的js文件将调用一个php文件来发送电子邮件。

这是文件/文件夹结构:

wp_theme_root
|
js/popup_form.js
|
mailer.php

我只是想知道我应该在哪里放置mailer.php表单,因为我尝试将它与js文件放在同一目录中,或者在主题根目录或wordpress目录中,但都没有成功。

感谢您的帮助。

3 个答案:

答案 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。它更大但更简单。