我在Wordpress中添加了自定义用户类型,自定义帖子类型支持作者(见下文).自定义用户类型具有作者的所有权限,但“发布帖子”除外,但不在要分配给帖子的可能作者列表中.我究竟做错了什么?码:if (!get_role(member...
我在Wordpress中添加了自定义用户类型,自定义帖子类型支持作者(见下文).自定义用户类型具有作者的所有权限,但“发布帖子”除外,但不在要分配给帖子的可能作者列表中.
我究竟做错了什么?
码:
if (!get_role('member')) {
add_role('member', 'SFUK Member', array(
'delete_posts' => true,
'edit_posts' => true,
'read' => true,
'upload_files' => true,
'edit_published_posts' => true,
'delete_published_posts' => true
));
}
这是自定义帖子类型:
$args = array(
'labels' => $labels,
'public' => true,
'publicly_queryable' => true,
'show_ui' => true,
'query_var' => true,
'rewrite' => true,
'capability_type' => 'post',
'hierarchical' => true,
'menu_position' => 0,
'supports' => array('title', 'editor', 'thumbnail', 'page-attributes', 'author')
);
if (!post_type_exists('ent')) {
register_post_type('ent', $args);
remove_post_type_support('ent', 'editor');
}
如果需要更多信息,请与我们联系.
解决方法:
作者下拉列表创建以下调用:
wp_dropdown_users( array(
'who' => 'authors',
'name' => 'post_author_override',
'selected' => empty($post->ID) ? $user_ID : $post->post_author,
'include_selected' => true
) );
who参数意味着只列出具有至少“作者”角色的用户,而the Codex page表示当前它是“作者”或空(表示所有用户).
这个函数有一个过滤器,但它将HTML作为输入.您可以为用户创建新查询,然后输出新的HTML下拉列表.这是解决问题的第一种方法.
但是,“who”设置为“authors”的此函数会搜索级别不为0的用户,这很奇怪,因为很久以前用户级别已被弃用.我在Trac上发现了a related bug report,建议你为你的新角色添加’level_1’功能来解决这个问题.这不是一个干净的解决方案,但比从头开始创建过滤器和所有HTML要容易得多.
编辑:我想到了第三个甚至更简单的解决方案:我已经使用插件创建了自定义角色,但从未注意到这个问题,因为我总是从现有角色复制功能然后修改它们.这样你就不会忘记任何功能,它也会修复这个bug.
本文标题为:php – WordPress:自定义用户没有出现在作者框中
基础教程推荐
- PbootCMS网站标题描述等标签限制字数的办法 2023-07-08
- 织梦DedeCMS搜索指定多个栏目文档的办法 2022-11-11
- dedecms织梦无需登录注册可下单购买的修改 2022-11-04
- 织梦dedecms如何在dede:sql中使用[field:global.autoindex/] 2022-08-27
- 织梦dedecms调用当前栏目文章数的方法 2022-11-08
- dedecms织梦cms常用判断语句汇总 2022-06-24
- pbootcms二次开发必须要了解的后台目录结构 2023-07-09
- dedecms织梦全局变量调用方法总结 2023-07-08
- pbootcms网站自动清理runtime缓存方法 2023-07-09
- dedecms根据来访IP区域自动跳转对应页面的方法 2022-07-21