我在理解jQuery是如何在Wordpress中调用php文件时遇到了麻烦。
我正在尝试在Wordpress中创建一个文件上传器。
我想在下面的函数中调用名为uploadifive.php和check-exists.php的php文件。
控制台错误是404,并且文件未被访问,我还注意到jquery将wordpress永久链接附加到url中,这导致了404。
如果没有自动附加到.php文件路径的固定链接,如何调用php文件?
jQuery.noConflict();
$('#file_upload').uploadifive
({
'auto' : false,
'buttonText' : 'Browse',
'fileSizeLimit' : '1024 MB' ,
'multi' : false,
'queueSizeLimit' : 1,
'checkScript' : 'check-exists.php',
'queueID' : 'queue',
'fileType' [ 'video/3gpp'],
'uploadScript' : 'uploadifive.php',
'onUploadComplete' : function(file, data) {window.location = 'upload_to_youtube/processing.php?' + data;}
});
}); 发布于 2016-05-13 13:20:30
1)第一种方法是使用Ajax调用processing.php文件
$('#file_upload').uploadifive
({
'auto' : false,
'buttonText' : 'Browse',
'fileSizeLimit' : '1024 MB' ,
'multi' : false,
'queueSizeLimit' : 1,
'checkScript' : 'check-exists.php',
'queueID' : 'queue',
'fileType' [ 'video/3gpp'],
'uploadScript' : 'uploadifive.php',
'onUploadComplete' : function(file, data) {//window.location = 'upload_to_youtube/processing.php?' + data;
jQuery.ajax({
url:PUTFILEURL,
data:data,
type:'POST',
success:function(data){
}
});
}
});2)用于WordPress Ajax接口https://codex.wordpress.org/Plugin_API/Action_Reference/wp_ajax_(action)
jquery代码
var ajaxurl="/wp-admin/admin-ajax.php";
$('#file_upload').uploadifive
({
'auto' : false,
'buttonText' : 'Browse',
'fileSizeLimit' : '1024 MB' ,
'multi' : false,
'queueSizeLimit' : 1,
'checkScript' : 'check-exists.php',
'queueID' : 'queue',
'fileType' [ 'video/3gpp'],
'uploadScript' : 'uploadifive.php',
'onUploadComplete' : function(file, data) {//window.location = 'upload_to_youtube/processing.php?' + data;
jQuery.ajax({
url:ajaxurl,
data:data+'&action=upload_to_youtube',
type:'POST',
success:function(data){
}
});
}
});php上传代码将此代码放入function.php文件中
add_action('wp_ajax_upload_to_youtubee', 'upload_to_youtube_callback');//login user
add_action('wp_ajax_nopriv_upload_to_youtube', 'upload_to_youtube_callback');//for not login user
function upload_to_youtube_callback()
{
//put your upload code
die;
}发布于 2016-05-13 13:39:44
简单的方法..但不推荐...
找到您的主题目录。
/wp-content/themes/your-theme/
在主题目录中放入php文件。例如: test.php..在ajax中,将url设置为如下所示..
$.ajax({
url: '/wp-content/themes/your-theme/test.php'
});然后在test.php中将这些行放在上面。
define('WP_USE_THEMES', false);
require_once('../../../wp-load.php');因此,即使不调用主题,您仍然可以使用wordpress函数。
https://stackoverflow.com/questions/37201595
复制相似问题