我试图改变上传的文件,当它被上传通过前端使用豆荚。
如何检查上传是否来自使用荚的高级内容类型?
template-view-page.php
$pod_name = pods_v( 0, 'url');
$pods = pods( $pod_name, $slug );
$fields = array( 'name', 'file' );
echo $pods->form( $fields ); functions.php
add_filter('upload_dir', 'change_upload_dir');
function change_upload_dir( $param ){
$pod_name = pods_v( 0, 'url');
if ($pod_name == "paperwork") {
$mydir = '/paperwork';
}
else {
$mydir = '/notpaperwork';
}
$param['path'] = $param['path'] . $mydir;
$param['url'] = $param['url'] . $mydir;
return $param;}
发布于 2018-06-25 14:49:58
这里的简单答案是,您无法检查上传是否来自,特别是因为上传的媒体没有与其关联的post_id (此时它不是一个帖子)。
更长的答案是,如果您的文件上传字段使用的是plupload本身,而不是普通的媒体库输入,那么您仍然可以自定义它。为了进行特殊的pods_upload_handle回调,您需要将add_filter筛选器与D1挂钩。只需确保在pods_upload_handle过滤器上返回null,以便让Pods继续处理上传。pods_upload_handle过滤器传递5个参数:
$custom_handler = null, $file_arg = 'Filedata', $post_id = $params->post_id, $params, $field您可能需要检查$params->pod (荚id)是否已设置,如果已设置,则使用它来检查是否是您的ACT。如果它与您的ACT吊舱匹配,那么您可以添加您的upload_dir过滤器。
使用这种方法,您可以确定您只为ACT添加了它。
https://wordpress.stackexchange.com/questions/306798
复制相似问题