【发布时间】:2017-01-25 07:28:32
【问题描述】:
我一直在尝试找出以下场景的解决方案。我有一个自定义帖子类型 - job_listing 使用 WP Job Manager 插件。
我想要实现的是根据job_listing 帖子计数更改默认用户角色。
所以默认情况下,用户的角色是'subscriber',但是每当用户提交工作列表时,这个用户角色应该会自动更改为'employer'。
我在此基础上整理了从各种 tuts 中收集的一段代码。但我仍然无法让这件事发挥作用。
这是我在functions.php中的代码:
add_action ('publish_post', 'update_roles');
function update_roles ($post_type = 'job_listing', $post_status = 'publish') {
global $wpdb;
$author = wp_get_current_user();
$query = "SELECT COUNT(*) FROM $wpdb->posts WHERE post_author = $author->ID AND post_type = '$post_type' AND post_status = '$post_status'";
$count = $wpdb->get_var($query);
if($count > 0 && current_user_can('subscriber'))
{
// Remove role
$author->remove_role( 'subscriber' );
// Add role
$author->add_role( 'employer' );
}
}
我做错了什么?
【问题讨论】:
标签: php wordpress custom-post-type user-roles