我在 woocommerce“查看订单”页面中使用 acf_form()
(高级自定义字段前端表单)创建了一个前端表单,允许客户为我们上传一些文件,表单对管理员来说工作正常,但是当您使用客户帐户登录并选择文件时,它会显示“您无权附加文件”,经过一些研究后,我编辑了 “customer”
将以下代码添加到 functions.php
:
/**
* Allow customers to upload files
*
* @package Wordpress
* @subpackage Rightec Theme
* @author Dornaweb.com
*/
if ( current_user_can('customer') ) {
add_action('init', 'allow_customer_uploads', 20);
add_action('admin_init', 'allow_customer_uploads', 20);
}
function allow_customer_uploads() {
$customer = get_role('customer');
$customer->add_cap('upload_files');
$customer->add_cap('unfiltered_upload');
}
我也尝试了“用户角色编辑器”
插件,但它也不起作用
请帮帮我!
最佳答案
我在尝试允许新的 WooCommerce 客户根据订单上传文件时也遇到了此问题。除了上述权限之外,您还需要:
- 确保您使用的是 ACF Pro (必须购买)。
- 在 acf_form() 数组中定义
'uploader' => 'basic'
。 - 向客户角色添加
'edit_pages'
和'edit_posts'
功能。
您需要 ACF Pro 来支持基本 uploader ,这是您所需要的,因为 WP Media uploader 永远不会允许从前端上传,除非您是管理员。
希望这对某人有帮助!
关于wordpress - 允许 "customer"用户角色在前端使用acf_form上传文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30959129/