$\u进入Wordpress function.php-不工作

$\u进入Wordpress function.php-不工作,php,wordpress,function,get,Php,Wordpress,Function,Get,首先,谢谢你抽出时间。我一直在搞砸这一点,无法找出是什么出了问题(这是我认为我理解的),我目前正试图改变保存位置的文件上传通过可湿性粉剂。正如标题所示。你得到的美元并没有从中得到任何东西- /?行动=类型1&项目=1&方法=添加 我可以用适当的数字替换get,并获得正确的项目输出,因此我几乎可以肯定,$\u get不会提取信息。据我所知,这是一个超变量,所以进入函数应该没有问题 如果有人发现我的逻辑、语法有任何问题,或者我在upload\u dir/wp\u handle\u upload\u

首先,谢谢你抽出时间。我一直在搞砸这一点,无法找出是什么出了问题(这是我认为我理解的),我目前正试图改变保存位置的文件上传通过可湿性粉剂。正如标题所示。你得到的美元并没有从中得到任何东西-

/?行动=类型1&项目=1&方法=添加

我可以用适当的数字替换get,并获得正确的项目输出,因此我几乎可以肯定,$\u get不会提取信息。据我所知,这是一个超变量,所以进入函数应该没有问题

如果有人发现我的逻辑、语法有任何问题,或者我在upload\u dir/wp\u handle\u upload\u prefilter hook中遗漏了什么,可以告诉我吗?或者对故障排除/解决有何建议

$\u GET在网站上的任何地方都可以使用,其他方面都可以使用

function ca_doc_pre_upload($file){
    add_filter('upload_dir', 'ca_doc_custom_upload_dir');
return $file;}

function ca_doc_custom_upload_dir($path){   
    if (isset($_GET['project'])) {
         $projectID = $_GET['project'];
    };

    if (isset($_GET['action'])) {
        $type = $_GET['action'];
    };

    $project = ca_get_project($projectID);
    $customdir = '/'.strtolower(str_replace(" ", "-", $project->project_name)).'/'.$type;

    $path['path']    = str_replace($path['subdir'], '', $path['path']);
    $path['url']     = str_replace($path['subdir'], '', $path['url']);      
    $path['subdir']  = $customdir;
    $path['path']   .= $customdir; 
    $path['url']    .= $customdir;  

return $path;}

add_filter('wp_handle_upload_prefilter', 'ca_doc_pre_upload', 2);
确认无法使用get检索。用过

if (isset($_GET['action'])) {
    $type = $_GET['action'];
}else{
$type = 'Not Getting';};
并试图保存一个文件。它将其保存为无法获取文件夹。(拿出项目部分)

一些补充资料。使用get在function.php中创建了另一个函数,并在plupload发生和工作的同一页面上调用它。我现在唯一能想到的是,这不起作用,因为它是从上传调用的,或者钩子正在做一些事情。。。我现在只是在猜测,因为我很久以前就没有了可行的逻辑

再次感谢您抽出时间。

您试过了吗

get_query_var('action');

您是否已将查询参数注册到WP
query\u vars()
?也许permalink重写会干扰


添加参数后,您可能还需要重新保存永久链接设置。

通过其他帮助和研究,发现在Wordpress中处理上传的plupload在后台调用时做了一些AJAX工作

url: '<?php echo admin_url('admin-ajax.php')?>'
url:'
出于某种原因,$_get不符合这一点,所以只需将URL更改为包含它们,如下所示,一切又恢复正常

url: '<?php echo admin_url('admin-ajax.php?project='.$_GET["project"].'&action='.$_GET["action"].'') ?>'
url:'

显然,当使用上面的钩子时,这就是它获取$\u GET的点(admin ajax.php)

您是否尝试过
var\u dump($\u GET)
var\u dump($\u REQUEST)
只是为了检查东西?有可能是在钩子运行之后添加了
$\u GET
元素(因此在钩子运行期间不可用)。请参见下面显示的我的新手。在该函数中添加var_dump会在调用时产生各种错误。您是否将其添加为函数的第一行?函数通常由加载程序调用,我无法使其与var_dump一起运行,因此我只是将函数调用拉入正文中,它显示了所有正在运行的函数,但我想这并不意味着什么。这是从前台或后台上传的?试试看。不走运。定义为。函数add_query_vars_filter($vars){$vars[]='action';返回$vars;}add_filter('query_vars','add_query_vars_filter');