Como atualizar o status da publicação para rascunho se a function do usuário estiver “pendente”

Estou criando um site onde o usuário paga para publicar posts. Se essa participação do usuário expirar, a function muda de “Assinante” para “Pendente”.

Preciso de um código que permita atualizar todas as postagens para rascunho se a function do usuário certo for “Pendente” e depois voltar a publicar se for “Assinante”.

Alguma sugestão sobre este problema? Eu só encontrei este plugin, mas não está funcionando.

Solutions Collecting From Web of "Como atualizar o status da publicação para rascunho se a function do usuário estiver “pendente”"

Você deve poder usar a ação set_user_role que é acionada quando a function de um usuário é alterada. A function de ação é passada o ID do usuário, a nova function e o (s) papel (s) antigo (s). Algo assim:

 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 } } 

Você pode querer considerar um status de publicação personalizado na chance de que um Assinante tenha uma ou mais postagens configuradas manualmente como Rascunhos quando são comutadas para Pendente – para impedir que essas postagens sejam publicadas automaticamente quando o usuário renovar e voltar para o Assinante .