Suporte » Desenvolvendo com WordPress » Página para adicionar colaborador no site

  • Olá galera, procurei na net mas não achei e vou postar aqui.

    Eu gostaria que as pessoas pudessem se adicionar como colaboradoras no site. Ou seja, teria uma página no site em que você poderia se cadastrar como colaborador e posteriormente poderiam logar e fazer postagens, porém o só os editores aceitarão as postagens permitidas.

    Acho que o código é esse, o qual achei nos meios dos arquivos:

    // Adding a new user to this site
    		$new_user_email = wp_unslash( $_REQUEST['email'] );
    		$user_details = wpmu_validate_user_signup( $_REQUEST['user_login'], $new_user_email );
    		if ( is_wp_error( $user_details[ 'errors' ] ) && !empty( $user_details[ 'errors' ]->errors ) ) {
    			$add_user_errors = $user_details[ 'errors' ];
    		} else {
    			/**
    			 * Filter the user_login, also known as the username, before it is added to the site.
    			 *
    			 * @since 2.0.3
    			 *
    			 * @param string $user_login The sanitized username.
    			 */
    			$new_user_login = apply_filters( 'pre_user_login', sanitize_user( wp_unslash( $_REQUEST['user_login'] ), true ) );
    			if ( isset( $_POST[ 'noconfirmation' ] ) && current_user_can( 'manage_network_users' ) ) {
    				add_filter( 'wpmu_signup_user_notification', '__return_false' ); // Disable confirmation email
    				add_filter( 'wpmu_welcome_user_notification', '__return_false' ); // Disable welcome email
    			}
    			wpmu_signup_user( $new_user_login, $new_user_email, array( 'add_to_blog' => $wpdb->blogid, 'new_role' => $_REQUEST['role'] ) );
    			if ( isset( $_POST[ 'noconfirmation' ] ) && current_user_can( 'manage_network_users' ) ) {
    				$key = $wpdb->get_var( $wpdb->prepare( "SELECT activation_key FROM {$wpdb->signups} WHERE user_login = %s AND user_email = %s", $new_user_login, $new_user_email ) );
    				$new_user = wpmu_activate_signup( $key );
    				if ( ! is_wp_error( $new_user ) ) {
    					$redirect = add_query_arg( array( 'update' => 'addnoconfirmation' ), 'user-new.php' );
    				} else {
    					$redirect = add_query_arg( array( 'update' => 'addnoconfirmation', 'user_id' => $new_user['user_id'] ), 'user-new.php' );
    				}
    			} else {
    				$redirect = add_query_arg( array('update' => 'newuserconfirmation'), 'user-new.php' );
    			}
    			wp_redirect( $redirect );
    			die();
    		}

    Mas não sei como substituir o resto.
    Acho que tenho que usar os forms para o $_REQUEST.
    Se eu estiver fazendo alguma coisa errada, me avisem.

Visualizando 1 resposta (de um total de 1)
  • Moderador Felipe Elia

    (@felipeelia)

    Oi @amzero,

    O que você deseja alcançar com esse código? A inscrição padrão de usuários do WordPress não é suficiente? Neste caso, o que falta nela?

    Você chegou a tentar algum tema dessa lista: https://br.wordpress.org/plugins/tags/user-registration

    Lembrando que é possível aceitar inscrição de usuários pelo próprio WordPress apenas alterando a configuração indo no Painel -> Configurações -> Geral, marcando “Qualquer pessoa pode se registrar” e, no seu caso, alterando a função padrão.

    Se já conseguiu resolver não esqueça de voltar aqui, contar o que estava acontecendo e marcar seu tópico como resolvido, ok? Assim pessoas com o mesmo problema terão ajuda mais rápido 🙂

Visualizando 1 resposta (de um total de 1)
  • O tópico ‘Página para adicionar colaborador no site’ está fechado para novas respostas.