我使用的是WordPress的付费主题。主题是关于汽车交易。在这个主题中有一个
Role => Dealer
。
当我以经销商身份登录时,我可以编辑我的个人资料(但没有图像选项)。我的客户想要一个经销商公司徽标的上传字段。我创建了一个
media up loader
,它可以工作,但并不完美。当我单击 upload logo
按钮时,会弹出媒体上传加载器,然后我选择一个图像,现在媒体上传加载器开始处理,几秒钟后它会显示此错误:
我搜索代码中的角色,并在父主题中找到了此代码:
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
。希望你能理解我的问题。
尝试使用 wordpress 插件,您可以在其中将上传权限分配给自定义用户角色:
您应该将 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
我参加聚会迟到了;我一直在努力寻找解决方案。尝试向订阅者、贡献者角色等添加读取、编辑帖子、上传文件等功能。但效果从未令人满意。
最后,我创建了一个新角色并添加了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 角色来上传文件是一个谜。去扮演自己的角色。