如果用户角色为“待定”,如何将帖子状态更新为草稿

时间:2014-09-16 作者:Carol Chaim

我正在创建一个网站,用户付费发布帖子。如果此用户成员资格过期,则角色将从“订阅者”更改为“挂起”。

我需要一个代码,允许更新所有职位草案,如果某些用户的角色是“待定”,然后返回发布,如果是“订阅者”。

对这个问题有什么建议吗?我只找到了this plugin 但它不起作用。

1 个回复
SO网友:karpstrucking

您应该能够使用set_user_role 用户角色更改时触发的操作。操作函数将传递用户ID、新角色和旧角色。类似这样:

add_action( \'set_user_role\', \'wpse161590_set_user_role\', 10, 3 );
function wpse161590_set_user_role( $user_id, $role, $old_roles ) {
  if ( \'Pending\' == $role ) {
    // set all of the user\'s posts to Draft
  }
  if ( \'Subscriber\' == $role ) {
    // set all of the user\'s posts to Publish
  }
}
如果订阅者在切换到挂起状态时手动将一篇或多篇帖子设置为草稿,则可能需要考虑自定义帖子状态,以防止在用户续订并切换回订阅者时自动发布这些帖子。

结束

相关推荐