我有一个用Cron Job调用的PHP文件,我需要与其余代码分开。所以,我有一个从我的仪表板调用AJAX请求的按钮。我的Wordpress插件中的Ajax函数包含文件(process.php),而这又包含另一个文件(snippets.php)。
如果我直接调用 process.php ,它可以正常工作,但不能通过Ajax调用。
文件夹结构
library(tidyverse)
pmap_dbl(df, ~ c(...) %>%
sort %>%
tail(3) %>%
prod) %>%
bind_cols(df, maxProductof3 = .)
# 1 2 3 4 maxProductof3
#1 4 6 6 8 288
#2 5 5 7 9 315
#3 6 4 8 10 480
#4 4 6 6 8 288
#5 5 5 7 9 315
#6 6 4 8 10 480
plugin.js
plugin.php
plugin.js
snippets.php
processes/process.php
plugin.php
jQuery.ajax({
type: 'GET',
url: ajaxurl,
data : {
action : 'process',
}
})
process.php
function process(){
include_once( 'processes/process.php' );
}
add_action( 'wp_ajax_process', 'process' );
答案 0 :(得分:1)
您应该使用自己文件中的相对包含,否则,它将从当前路径运行。要强制执行此操作,您可以使用__DIR__
并以斜杠
<强> plugin.php 强>
function process(){
include_once(__DIR__.'/processes/process.php' );
}
add_action('wp_ajax_process', 'process' );
<强> process.php 强>
include_once(__DIR__.'/../snippets.php');
//here not includes 'snippets.php'
另外,您忘记了 process.php
中的分号;