Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- // refere-se ao tutorial: http://rozanchetta.wordpress.com/2011/10/16/area-de-clientes-templates-para-o-cpt-documentos
- get_header(); ?>
- <div id="content" role="main">
- <?php global $user_ID, $user_identity; get_currentuserinfo(); if (!$user_ID) { // condicional - se o usuário não está logado ?>
- <div class="nao-logado">
- <p>Faça Login para ver sua Página</p>
- <?php $args = array('label_username' => __( 'Usuário' ),'redirect' => site_url('/documentos/'),); // depois de fazer login, retorna para a página documentos ?>
- <?php wp_login_form( $args ); // formulário de login ?>
- <div class="clear"></div>
- <br />
- <p>Ainda não possui uma conta?</p>
- <p><a href="<?php echo esc_url( home_url( '/' ) ); ?>registro-de-usuario/">Registrar-se</a> <!-- link para o formulário de registro --></p>
- <div class="clear"></div>
- </div><!-- fecha a div class .nao-logado -->
- <?php } else { // se o usuário está logado ?>
- <div class="logado">
- <p>Você está conectado como <?php echo $user_identity; ?></p>
- <p>O que você deseja fazer?</p>
- <ul>
- <li><a href="<?php echo esc_url( home_url( '/' ) ); ?>">Ir para a Página Inicial</a></li>
- <?php if (current_user_can('edit_posts')) { ?>
- <li><?php echo'<a href="' . admin_url() . '">' . __('Ir para Administração do Site') . '</a>'; ?>
- <?php } else { ?>
- <li><?php echo '<a href="' . admin_url() . 'profile.php">' . __('Alterar meus dados') . '</a>'; ?></li>
- <?php } ?>
- <li><a href="<?php echo wp_logout_url('documentos'); // ao fazer logout, volta para a página documentos ?>">Logout</a></li>
- </ul>
- <br />
- <div class="clear"></div>
- <!-- Iniciamos com uma condicional para usuários com nível superior ao de assinante e um loop de posts -->
- <?php if( current_user_can('edit_posts') ) : ?>
- <div class="lista-admin">
- <p>Esta é a lista de todos os documentos restritos. Apenas usuários com nível superior ao de assinante tem acesso a todos os documentos.</p>
- <ul><!-- inicia a lista de títulos dos posts -->
- <?php if (have_posts()) : while ( have_posts() ) : the_post(); // loop para lista de todos os documentos
- global $restrito_mb;
- $meta = $restrito_mb->the_meta();
- $restrito_mb->the_field('teste_restrito'); /* nossa meta box */
- ?>
- <li id="post-<?php the_ID(); ?>" <?php post_class(); ?>><span class="entry-title"><a href="<?php the_permalink() ?>" title="<?php the_title() ?>"><?php the_title();?></a> - Este documento é restrito para <strong><?php $restrito_mb->the_value(); ?></strong>.</span></li>
- <?php endwhile; endif; // finalizamos o loop e a condicional "se houver posts" ?>
- </ul><!-- fechamos a lista -->
- </div><!-- .lista-admin -->
- <?php else: //se o usuário tiver nível de assinante iniciamos uma query ?>
- <p>Este documento é restrito.</p>
- <p>Apenas você, <strong><?php echo $user_identity; ?></strong>, e os administradores do <?php bloginfo('name'); ?> tem acesso às suas páginas.</p>
- <hr>
- <br />
- <h3> Estes são os documentos arquivados em sua conta de cliente</h3>
- <div class="lista-assinantes">
- <?php
- global $restrito_mb;
- $current_user = wp_get_current_user();
- $args = array(
- 'post_type' => 'documentos',
- 'meta_query' => array(
- 'relation' => 'OR',
- array(
- 'key' => '_restrito_meta', /* nossa meta key */
- 'value' => get_user_role(), /* comparada com a função do usuário logado */
- 'compare' => 'LIKE'
- ),
- array(
- 'key' => '_restrito_meta', /* nossa meta key */
- 'value' => $current_user->user_login,
- 'compare' => 'LIKE'
- )
- )
- );
- $my_query = new WP_Query( $args ); ?>
- <?php if ($my_query->have_posts()) { ?>
- <ul><!-- inicia a lista de títulos dos posts -->
- <?php while ( $my_query->have_posts() ) : $my_query->the_post(); ?><!-- Iniciamos o loop da query com os títulos dos posts -->
- <?php global $restrito_mb; $restrito_mb->the_meta(); $restrito_mb->the_field('teste_restrito'); // nossa meta box ?>
- <li id="post-<?php the_ID(); ?>" <?php post_class(); ?>><span class="entry-title"><a href="<?php the_permalink() ?>" title="<?php the_title() ?>"><?php the_title();?></a> - Este documento é restrito para <strong><?php $restrito_mb->the_value(); ?></strong>.</span></li>
- <?php endwhile; // finalizamos o loop ?>
- </ul> <!-- fechamos a lista -->
- <?php } else { ?>
- <p>Não há documentos em sua conta de cliente. Por favor, entre em contato com nosso atendimento.</p>
- <?php } ?>
- <?php wp_reset_query(); // fechamos a query ?>
- </div><!-- .lista-assinantes -->
- <?php endif; // finalizamos a condicional de permissão ?>
- </div> <!-- fecha a div class .logado -->
- <?php } // finaliza a condicional usuario logado/não logado ?>
- </div><!-- #content -->
- <?php get_sidebar(); ?>
- <?php get_footer(); ?>
Advertisement
Add Comment
Please, Sign In to add comment