如何在wordpress中添加上传文件的功能

问题描述 投票:0回答:3

我使用的是WordPress的付费主题。主题是关于汽车交易。在这个主题中有一个

Role => Dealer

当我以经销商身份登录时,我可以编辑我的个人资料(但没有图像选项)。我的客户想要一个经销商公司徽标的上传字段。我创建了一个

media up loader
,它可以工作,但并不完美。当我单击
upload logo
按钮时,会弹出媒体上传加载器,然后我选择一个图像,现在媒体上传加载器开始处理,几秒钟后它会显示此错误:

enter image description here

我搜索代码中的角色,并在父主题中找到了此代码:

add_role('tdp_dealer', 'Vehicle Dealer', array(
    'read' => true, // True allows that capability
    'edit_dealer_fields' => true
));

然后我搜索上传功能并找到upload_files。我在代码中写了这个上限,但它不起作用。

add_role('tdp_dealer', 'Vehicle Dealer', array(
    'read' => true, // True allows that capability
    'edit_dealer_fields' => true,
    'upload_files' => true,
    'edit_posts' => true
));

然后我也尝试了这个代码,但它也不起作用:

function tdp_add_dealer_caps() {
    // gets the author role
    $role = get_role( 'tdp_dealer' );

    // This only works, because it accesses the class instance.
    // would allow the author to edit others' posts for current theme only
    //$role->add_cap( 'edit_dealer_fields', true );
    $role->add_cap( 'upload_files', true );
}
add_action( 'init', 'tdp_add_dealer_caps');

所以大家指导我如何上传文件、图像作为

dealer user
。希望你能理解我的问题。

php wordpress user-roles
3个回答
1
投票

尝试使用 wordpress 插件,您可以在其中将上传权限分配给自定义用户角色:

会员


1
投票

您应该将 add_action 添加到 admin_init 中。这对我有用。

add_action('admin_init', 'allow_tdp_dealer_uploads');
function allow_tdp_dealer_uploads() {
    $tdp_dealer = get_role('tdp_dealer');
    $tdp_dealer->add_cap('upload_files');
}

将其添加到插件的主文件,即index.php


0
投票

我参加聚会迟到了;我一直在努力寻找解决方案。尝试向订阅者、贡献者角色等添加读取、编辑帖子、上传文件等功能。但效果从未令人满意。

最后,我创建了一个新角色并添加了read、edit_posts、upload_files。它就像一个魅力。代码直接来自 https://developer.wordpress.org/plugins/users/roles-and-capability/

function wporg_simple_role() {
    add_role(
        'simple_role',
        'Simple Role',
        array(
            'read'         => true,
            'edit_posts'   => true,
            'upload_files' => true,
        ),
    );
}
// Add the simple_role.
add_action( 'init', 'wporg_simple_role' );

希望它对某人有所帮助。 尝试调整现有的 WordPress 角色来上传文件是一个谜。去扮演自己的角色。

© www.soinside.com 2019 - 2024. All rights reserved.