首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Wordpress中从jQuery调用PHP脚本

在Wordpress中从jQuery调用PHP脚本
EN

Stack Overflow用户
提问于 2016-05-13 13:01:44
回答 2查看 444关注 0票数 1

我在理解jQuery是如何在Wordpress中调用php文件时遇到了麻烦。

我正在尝试在Wordpress中创建一个文件上传器。

我想在下面的函数中调用名为uploadifive.php和check-exists.php的php文件。

控制台错误是404,并且文件未被访问,我还注意到jquery将wordpress永久链接附加到url中,这导致了404。

如果没有自动附加到.php文件路径的固定链接,如何调用php文件?

代码语言:javascript
复制
 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;}

         });
       });   
EN

回答 2

Stack Overflow用户

发布于 2016-05-13 13:20:30

1)第一种方法是使用Ajax调用processing.php文件

代码语言:javascript
复制
$('#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代码

代码语言:javascript
复制
 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文件中

代码语言:javascript
复制
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;
    }
票数 0
EN

Stack Overflow用户

发布于 2016-05-13 13:39:44

简单的方法..但不推荐...

找到您的主题目录。

/wp-content/themes/your-theme/

在主题目录中放入php文件。例如: test.php..在ajax中,将url设置为如下所示..

代码语言:javascript
复制
$.ajax({
   url: '/wp-content/themes/your-theme/test.php'
});

然后在test.php中将这些行放在上面。

代码语言:javascript
复制
define('WP_USE_THEMES', false);
require_once('../../../wp-load.php');

因此,即使不调用主题,您仍然可以使用wordpress函数。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37201595

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档