【问题标题】:Allow "customer" user role to upload files in front-end with acf_form允许“客户”用户角色使用 acf_form 在前端上传文件
【发布时间】:2015-09-06 16:12:46
【问题描述】:

我在 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');
}

我也试过"user role editor"插件,但它也不起作用

请帮帮我!

【问题讨论】:

  • 有人吗?请它如此重要
  • 没关系,我解决了这个问题:|
  • 你最后是怎么解决这个问题的,我也遇到了同样的问题!
  • @andycrone 这是3年前的事了,我真的不记得了,我丢失了项目文件,对不起

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


【解决方案1】:

我在尝试允许新的 WooCommerce 客户根据订单上传文件时也遇到了这个问题。除上述权限外,您还需要:

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

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

希望这对某人有所帮助!

【讨论】:

  • WP Media 上传器永远不会允许非管理员用户从前端上传实际上是不正确的。但是,用户需要将upload_files 功能设置为true。对我来说,'uploader' => 'wp'acf_form() 配合得很好。
【解决方案2】:

我正在使用 ACF Pro 5.8.0,我已经使用下面的这个函数为作者角色添加了上限,并定义了 'uploader' => 'basic' 或 'uploader' => 'wp' 但作者仍然无法上传在前端。

function wp_add_upload_files_cap() {
    $role = get_role( 'author' ); //The role you want to grant the capability
    $role->add_cap( 'upload_files' );
    $role->add_cap( 'edit_pages' );
    $role->add_cap( 'edit_posts' );
}
register_activation_hook( __FILE__, 'wp_add_upload_files_cap' );

【讨论】:

    【解决方案3】:

    解决方案很简单。为用户提供这些功能:

    $author->add_cap('manage_options');
    

    【讨论】:

      【解决方案4】:

      upload_files 是我需要添加的唯一功能以实现此功能。请参阅第一个答案中的@toni_lehtimaki 评论。

      【讨论】:

        猜你喜欢
        • 2011-10-20
        • 2012-08-23
        • 1970-01-01
        • 2012-06-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-10-26
        • 1970-01-01
        相关资源
        最近更新 更多