繁体   English   中英

WordPress:如果要从javascript文件中调用它,我的PHP脚本应该放在哪里?

[英]Wordpress: Where to place my php script if I want to call it from a javascript file?

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

这是文件/文件夹结构:

wp_theme_root
|
js/popup_form.js
|
mailer.php

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

感谢您的帮助。

如果它是正在构建的主题的一部分,则需要将其放置在主题文件夹或主题内的包含文件夹中。 您可以使用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();
    }
} 

然后,在包含的主题文件夹中有一个名为ajax_calls的文件。 此方法也将处理堆栈中带有WP的所有ajax调用。 确保所有ajax请求中都包含“ is_ajax_request”。

尝试将其放在WordPress目录的根文件夹中,然后像这样调用它: /js/popup_form.js 注意前面的/ ,如果您不知道它的意思是从root开始。

希望这对您有用。

最干净的方法是编写处理作为插件发送邮件的代码。 它将具有自己的自包含MVC组件(大多数都为空)。

我只能为此找到的现有示例是JSON-API 它更大但更简单。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM