wordpress - 允许 "customer"用户角色在前端使用acf_form上传文件

标签 wordpress woocommerce advanced-custom-fields user-roles

我在 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 客户根据订单上传文件时也遇到了此问题。除了上述权限之外,您还需要:

  1. 确保您使用的是 ACF Pro (必须购买)。
  2. acf_form() 数组中定义 'uploader' => 'basic'
  3. 向客户角色添加 'edit_pages''edit_posts' 功能。

您需要 ACF Pro 来支持基本 uploader ,这是您所需要的,因为 WP Media uploader 永远不会允许从前端上传,除非您是管理员。

希望这对某人有帮助!

关于wordpress - 允许 "customer"用户角色在前端使用acf_form上传文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30959129/

相关文章:

php - WordPress publish_post Hook 未触发自定义帖子类型

php - 为什么我的 $wpdb->delete 值为 FALSE,并且无法正确执行?

php - 基于付款方式的动态自定义订单号

php - 获取特定分类术语的高级自定义字段组

select - 设置默认值 ACF 选择

WordPress/类别/子类别 404 错误

html - 添加链接到带有背景图片、标题和类别的 div

php - 有条件地删除“添加到购物车”按钮并隐藏产品类别的价格

wordpress - Woocommerce 在functions.php 中获取单个产品页面的产品sku

php - ACF 图库缩略图(含图片)