我需要将用户id发送到远程服务器以下载XML文件。我通过以下代码片段来完成这一点:
function custom_file_download($url, $type = \'xml\'){
$ch = curl_init();
$userData = array( \'user_id\' => \'MY_USER_ID\' );
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $userData);
$result = curl_exec($ch);
if (curl_errno($ch)) {
exit(\'Error:\' . curl_error($ch));
}
curl_close ($ch);
$uploads = wp_upload_dir();
$filename = $uploads[\'basedir\'] . \'/\' . strtok(basename($url), "?") . \'.\' . $type;
if (file_exists($filename)){
@unlink($filename);
}
file_put_contents($filename, $result);
return str_replace($uploads[\'basedir\'], $uploads[\'baseurl\'], $filename);
}
然后,我将“从URL下载”选项与地址一起使用
[custom_file_download("MY_REMOTE_URL", "xml")]
这将成功地将文件下载到/wp-content/uploads。但是,WP Import返回结果“您的导入文件有问题。请验证URL是否返回有效的导入文件。”
我可以使用“上载文件”选项手动导入文件,没有问题,这表明文件本身没有问题。但我无法创建cron作业来完成每日更新,直到WP All Import能够识别使用“从URL下载”时已成功创建文件。
有人建议,文件位置未正确返回到WP All Import。请问,是否有人可以协助调试和/或识别上述代码段中的错误?
也许下载位置应该修改为WP All Import默认值(/WP content/uploads/wpallimport/uploads)?
提前感谢