我很难说清楚我需要/做错什么。
我正在为WordPress编写一个插件,该插件具有多个通过AJAX调用的PHP文件。
我遇到的问题是如何告诉wordpress URL是相对于插件的?
pluginname.php
文件中有以下代码:
function build_form() {
// hacky way of providing the url to the front end.
echo ("<script> var submit_url = \"" . plugin_dir_url( __FILE__ ) . "submit.php \" </script>");
$asubHTML = file_get_contents(plugins_url('/estimate-form.php',__FILE__ ));
echo $asubHTML;
}
//used on a page like a widget
add_shortcode( 'estimate-form', 'build_form' );
然后在前端将我们发布到回显的URL。
$.ajax({
url: submit_url,
data: {},
type: 'POST'
});
就告诉插件提交的URL是什么而言,它可以很好地工作,但看起来有些黑。
但是,当您到达所调用的实际PHP脚本时,您将不再处于WordPress框架的范围之内,因此WordPress函数将无法使用。例如
wp_mail(),plugin_dir_url()
我觉得我缺少与注册URL或插件文件中类似内容有关的基本知识。
如果我想更清楚一点,请告诉我如何做。