Suporte » Plugins » Plugin para pontuação de usuários cadastrados?

  • Resolvido mociaro

    (@mociaro)


    Título original: Votação

    Amigos, estou precisando resolver um problema, e procuro um plugin ou uma dica pra resolver.

    O cliente precisa pontuar os usuários registrados no site.

    Existirão várias promoções offline. E quando o usuário mandar uma prova de que participou dessa promoção o meu cliente vai poder atribuir pontos pra esse usuário.

    E isso tem que ser exibido como um ranking, mostrando a posição que os usuários estão.

    Alguém tem alguma ideia?

    Se não ficar claro, eu explico melhor.
    Obrigado

Visualizando 2 respostas - 1 até 2 (de um total de 2)
  • Myst1010

    (@myst1010)

    Veja se isso resolve seu problema, não está uma Brastemp mas acho que quebra o galho.

    Adicione em seu function

    add_action( 'show_user_profile', 'my_show_extra_profile_fields' );
    add_action( 'edit_user_profile', 'my_show_extra_profile_fields' );
    
    function my_show_extra_profile_fields( $user ) { ?>
    
    	<h3>Pontuações</h3>
    
    	<table class="form-table">
    
    		<tr>
    			<th><label for="pontos">Pontos adquiridos</label></th>
    
    			<td>
                <?php if ( !current_user_can( 'activate_plugins', $user_id ) ) {?>
    			<input name="pontos" type="text" disabled="disabled" class="regular-text" id="pontos" style="background:#CCC; width:50px!important;" value="<?php echo esc_attr( get_the_author_meta( 'pontos', $user->ID ) ); ?>" />
                <?php } else { ?>
                <input name="pontos" type="text" class="regular-text" id="pontos" style="width:50px!important;" value="<?php echo esc_attr( get_the_author_meta( 'pontos', $user->ID ) ); ?>" />
                <?php } ?>
    				<span class="description">pontos adquiridos até o momento</span>
    		  </td>
    		</tr>
    
    	</table>
    <?php }
    add_action( 'personal_options_update', 'my_save_extra_profile_fields' );
    add_action( 'edit_user_profile_update', 'my_save_extra_profile_fields' );
    
    function my_save_extra_profile_fields( $user_id ) {
    
    	if ( !current_user_can( 'activate_plugins', $user_id ) )
    		return false;
    
    	update_usermeta( $user_id, 'pontos', $_POST['pontos'] );
    }
    ?>

    Teste direitinho, mas na teoria somente o administrador poderá alterar o valor da pontuação, os demais verão os pontos, mas a caixa estará desativada para ser atualizada com novos valores.

    Não testei com todos os tipos de usuários, mas com autor funcionou como devia.

    Em relação a lista eu não tentei, mas não deve ser difícil recuperar esses dados e exibir no seu tema.

    Créditos do código original:
    http://justintadlock.com/archives/2009/09/10/adding-and-using-custom-user-profile-fields

    Maravilha. Por aqui, funcionou direitinho.

Visualizando 2 respostas - 1 até 2 (de um total de 2)
  • O tópico ‘Plugin para pontuação de usuários cadastrados?’ está fechado para novas respostas.